Modulul 6 · 6.1
Ce face o site să fie lentă și cum se măsoară acest lucru?
Modulul 6: Viteză · Timp de citire: 9 minute
Obiectiv de învățare: După această lecție veți putea măsura unde se pierde timpul și veți recunoaște diferența dintre lentoarea de pe server și lentoarea din browser.
Concepte-cheie: TTFB, Core Web Vitals (LCP, INP, CLS), date de laborator, date de teren, PageSpeed Insights, fila de rețea, compresie, scripturi externe, limitele pachetului de găzduire, 503
Mai întâi măsurați, apoi interveniți
"Site-ul este lent" poate avea zece cauze diferite. Cine instalează fără măsurare un modul de cache, un modul de optimizare a imaginilor și un pachet mai mare, toate deodată, nu va ști ulterior ce anume a ajutat, și va avea în plus trei lucruri de întreținut. De aceea, începeți mereu cu trei întrebări (aceleași ca în ghidul furnizorului dumneavoastră de găzduire):
- Totul este lent, sau doar panoul de control? Un panou de control lent cu o parte publică rapidă indică module (pluginuri) care fac multe în panoul de control, sau roboți care bombardează pagina de autentificare.
- Mereu, sau în anumite momente? Doar la ore aglomerate sau când rulează o sarcină programată: atunci pachetul dumneavoastră își atinge limitele.
- La toată lumea, sau doar la dumneavoastră? Încercați pe telefon prin 4G sau 5G, sau rugați pe altcineva. Dacă este lent doar la dumneavoastră, problema este conexiunea sau VPN-ul dumneavoastră.
Două jumătăți: server și browser
Timpul pe care îl așteaptă un vizitator se compune din două părți (lecția 1.2):
- Serverul construiește HTML-ul: server web, PHP, module (pluginuri), bază de date. Acest lucru îl observați ca TTFB (time to first byte), timpul până la primul byte al răspunsului. web.dev indică drept regulă generală că majoritatea site-urilor ar trebui să țintească un TTFB de 0,8 secunde sau mai puțin.
- Browserul citește acel HTML și apoi preia tot ce se află în el: foi de stil, scripturi, fonturi, imagini, video, coduri de măsurare, widgeturi de chat. Abia când o parte suficientă dintre acestea a ajuns, vizitatorul vede ceva.
Un TTFB ridicat se rezolvă pe partea de server: cache (lecția 6.2), module (pluginuri) mai puține sau mai ușoare, o versiune mai nouă de PHP, o bază de date curățată (lecția 6.3) sau mai multă putere de calcul. Un TTFB scăzut dar cu o pagină totuși lentă indică partea de browser: imagini prea mari, prea multe scripturi, componente externe.
Core Web Vitals
Google măsoară experiența vizitatorilor cu trei cifre, Core Web Vitals:
| Măsurătoare | Ce măsoară | Bun dacă |
|---|---|---|
| LCP (Largest Contentful Paint) | Cât de repede devine vizibilă cea mai mare bucată de conținut (adesea fotografia mare sau titlul) | 2,5 secunde sau mai puțin |
| INP (Interaction to Next Paint) | Cât de repede reacționează pagina când dați clic, atingeți sau tastați | 200 milisecunde sau mai puțin |
| CLS (Cumulative Layout Shift) | Cât de mult se mișcă pagina în timpul încărcării | 0,1 sau mai puțin |
INP a înlocuit în martie 2024 măsurătoarea mai veche FID. Google folosește aceste cifre, printre altele, la clasificarea rezultatelor căutării, dar motivul principal pentru a le îmbunătăți este simplu: vizitatorii renunță la o pagină lentă sau care se mișcă în timpul încărcării.
Date de laborator și date de teren
Există două tipuri de măsurători, iar acestea oferă cifre diferite:
- Date de laborator: un test la un anumit moment, dintr-un anumit loc, cu un telefon și o conexiune simulate. Util pentru comparații (înainte și după o modificare), dar nu reprezintă un vizitator real.
- Date de teren: măsurători la vizitatori reali cu Chrome, din ultimele 28 de zile. Aceasta este ceea ce experimentează vizitatorii în realitate. Site-urile mici au adesea prea puțini vizitatori pentru date de teren.
PageSpeed Insights (pagespeed.web.dev) arată ambele: în partea de sus datele de teren (dacă există), mai jos un test de laborator cu un scor și recomandări concrete. Nu priviți orbește la scorul de la 0 la 100. Uitați-vă la componente: LCP este slab pentru că serverul este lent (TTFB) sau pentru că fotografia mare are 3 MB?
Testați mereu de câteva ori (cifrele variază) și testați și o pagină obișnuită, nu doar pagina principală.
Observați singur cu browserul
Instrumentele pentru dezvoltatori din browserul dumneavoastră (F12) arată ce se întâmplă cu adevărat:
- Fila Rețea (Network): reîmprospătați pagina cu cache-ul dezactivat (bifați "Dezactivați cache-ul"). Vedeți fiecare fișier care se încarcă, dimensiunea lui și cât timp a durat. Sortați după dimensiune: cele mai mari fișiere sunt adesea imagini. Sortați după domeniu: cât provine de la alți furnizori (fonturi, coduri de măsurare, videoclipuri)?
- Prima cerere (HTML-ul propriu-zis): dați clic pe ea, fila Timing. "Waiting for server response" este TTFB-ul.
- Antetele acelei prime cereri: există compresie (
content-encoding: brsaugzip), și a provenit pagina dintr-un cache (lecția 6.2)?
Vinovații obișnuiți
În practică, lentoarea la WordPress este cauzată de obicei de unul dintre următoarele:
- Lipsa cache-ului de pagini: fiecare pagină este regenerată la fiecare vizită (lecția 6.2).
- Prea multe module (pluginuri) sau module grele, în special cele care apelează servicii externe la fiecare cerere sau fac interogări grele (lecția 5.3).
- Imagini mari: o fotografie de 5 MB de pe un telefon pe pagina principală (lecțiile 4.4 și 6.3).
- O temă grea sau un constructor de pagini care încarcă multe scripturi și foi de stil pe fiecare pagină (lecția 5.1).
- Componente externe: fonturi, videoclipuri, widgeturi de chat, coduri de măsurare, butoane de rețele sociale de la alți furnizori. Fiecare este o conexiune către un alt server care poate fi lent.
- O versiune veche de PHP (lecția 8.4).
- O bază de date dezordonată: mii de revizii, spam, tabele de jurnalizare ale modulelor (pluginurilor) (lecția 6.3).
- Roboți: crawlere, crawlere AI și încercări de autentificare vă ocupă pachetul (lecția 7.3).
- Pachetul își atinge limitele: prea puțină putere de calcul (CPU), procese sau memorie pentru trafic.
Limitele pachetului dumneavoastră
La găzduirea partajată, fiecare pachet primește o parte fixă din server: putere de calcul, memorie, viteză a discului și un anumit număr de procese simultane. Dacă site-ul dumneavoastră folosește mai mult, acesta este încetinit, sau vizitatorii primesc un mesaj de eroare 503 (Service Unavailable, la unii furnizori de găzduire "Resource Limit Is Reached"). La DirectAdmin cu CloudLinux vedeți acest lucru la Resource Usage (cu "faults" dacă site-ul dumneavoastră a fost încetinit), iar cu X-Ray vedeți pentru fiecare pagină ce modul (plugin) sau interogare consumă timp. Alți furnizori de găzduire au situații similare, uneori disponibile doar la cerere.
Un pachet mai mare ajută dacă site-ul dumneavoastră are nevoie într-adevăr de mai mult (un magazin online aglomerat). Nu rezolvă o site prost configurată: problema va reveni mai târziu. Căutați mai întâi cauza.
Rezumat
- Măsurați mai întâi: totul sau doar panoul de control, mereu sau uneori, toată lumea sau doar dumneavoastră.
- TTFB este partea de server (țintiți 0,8 secunde sau mai puțin); restul este ceea ce încarcă browserul.
- Core Web Vitals: LCP (2,5 s), INP (200 ms) și CLS (0,1); INP a înlocuit FID în 2024.
- PageSpeed Insights arată date de teren și date de laborator; fila de rețea arată ce se încarcă în realitate.
- Majoritatea lentorii se datorează lipsei cache-ului, modulelor (pluginurilor) grele, imaginilor mari și componentelor externe; un pachet mai mare este abia ultimul pas.
Test (quiz)
Exercițiu
Exercițiu A6.1: Măsurați TTFB și compresia dumneavoastră. Introduceți adresa site-ului dumneavoastră și, dacă doriți, o pagină obișnuită (de exemplu pagina dumneavoastră de contact). Programul solicită fiecare pagină de trei ori fără cookie-uri și oferă TTFB-ul median, dimensiunea HTML-ului, și dacă serverul trimite HTML-ul comprimat (content-encoding gzip sau br). Comparați rezultatul cu un test în PageSpeed Insights și notați ce vă atrage atenția.
Lecturi suplimentare
Aceste articole descriu pașii în panourile WebOké; în alte panouri funcționează similar.
- Manual DirectAdmin 18.3: Website-ul meu este lent
- Manual DirectAdmin 17.3: Resource Usage: CPU, memorie și procese
- Manual DirectAdmin 17.4: X-Ray: depistarea paginilor lente
- Manual DirectAdmin 17.5: 503 sau "Resource Limit Is Reached": ce trebuie să faceți acum?
- Site-ul meu web este lent sau utilizează prea mult CPU: iată cum îl puteți face mai rapid
- Core Web Vitals (web.dev, engleză): https://web.dev/articles/vitals
- PageSpeed Insights: https://pagespeed.web.dev/
