Pentru inceput va recomandam urmatoarele extensii de Chrome Browser: Page load time, Performance-Analyser si HTTP Headers. Aceste unelte sunt foarte bune pentru developeri deoarece furnizeaza date importante pentru masurile ce trebuiesc luate ulterior. Alternativ pot si folosite si unelte online cum sunt tools.pingdom.com sau tools.keycdn.com/performance, dar aceste unelte online ofera informatii limitate.
1. Time to first byte (TTFB): Este timpul in care serverul incepe sa livreze continutul, cea mai mare parte este consumata de generarea dinamica a continutului php/mysql. Puteti face o comparatie cu o resursa statica precum e o imagine sau un fisier text. In general din interiorul tarii ttfb pentru o resursa statica sau un site cu cache, ttfb este de sub 100ms (milisecunde).
- dinamic: https://hostvision.ro/hosting-web/business-ssd/ 400-500ms (un timp bun, dar pagina nu e livrata din cache)
- static: https://hostvision.ro/uploads/images/hostvision-hollow.png 20-30ms
Daca TTFB este mare (peste 1000ms), acesta poate fi micsorat prin sistemele de cache. De exemplu: cu extensia HTTP Headers puteti sa verificati daca serverul web LiteSpeed, folosit pe serverele HostVision, livreaza continut din cache: X-LITESPEED-CACHE hit.
Majoritatea platformelor (WordPress, WooCommerce, Presta, Magento) pot beneficia de o reducere semnificativa prin activarea modulelor de cache de la LiteSpeed, de exemplu de la 6000-8000 ms (6-8 secunde) la 60-80 ms.
2. DOM: Este timpul efectiv de care are nevoie Browserul sa incarce datele primite de la server, aici conteaza mult dimensiunea paginii si numarul de resurse (imagini, css, js, etc.) incarcate. In general un timp foarte mare la DOM poate sa indice nevoia de optimizare a imaginilor sau a surselor js externe.
- imagini: este recomandata folosirea formatului jpg pentru imaginile de dimensiunea mare iar png poate fi folosit pentru imaginile de dimeniune mica, in general elemente grafice.
- js extern: este posibil sa aveti scripturi js externe ce se incarca greu sau returneaza time-out, puteti sa gasiti informatii in browser Developer Tools > Console sau Performance > Console
- js, css: pot fi folosite unelte de minifier pentru comprimarea resurselor, acet pas are in general un impact mic asa ca poate fi lasat la sfarsit.
3. Surse externe, API: O alta verificare ar trebui facuta la sursele externe cum sunt API-uri sau alte date ce sunt citite in timp real de la alte adrese url (liste de preturi, curs bnr, informatii fiscale, etc.). Este posibil ca scripturile PHP (functii de genul fopen, curl, soket) sa astepte raspuns de la astfel de surse inainte sa retuneze continut.
4. Resurse CPU & RAM: In anumite cazuri consumul de resurse de procesare alocate pachetului de gazduire sa fie foarte mari, in cPanel urmariti in CPU and Concurrent Connection Usage sau in zona Statistics: CPU Usage (in procente din numarul de CPU Core alocat), Physical Memory Usage (RAM) si Processes (entry si totale). In general cand se ajunge la o limita serverul returneaza eroarea 508, dar in general un consum de procesor CPU Usage 100% poate sa duca la incetinirea semnificativa a functionarii sitului.
5. Serverul SQL (MariaDB / MySQL): In cazul unor baze de date foarte mari (numar de inregistrari sau dimensiune) si a unor query-uri neoptimizate este posibil ca procesele sql (query) sa ramana in urma astfel sa se ajunga la rulare greoaie sau eroarea max_user_connections cand se atinge limita.