Încetinirea intermitentă a site-ului web nu înseamnă întotdeauna că s-a atins o limită de găzduire. Același simptom poate fi cauzat de o aplicație lentă, o interogare ineficientă a bazei de date, o sarcină programată, un vârf de trafic sau o problemă din afara mediului site-ului web.
Cuprins
Începeți cu o înregistrare clară a incidentului
Înregistrați momentele în care site-ul funcționează lent, ce pagini sau acțiuni sunt afectate și dacă problema este constantă sau intermitentă. Notați dacă problema afectează vizitatorii, administratorii, formularele, încărcările sau paginile bazate pe baze de date. Momentul în care apare problema este important, deoarece o încetinire recurentă poate corespunde unei sarcini programate, în timp ce o încetinire de scurtă durată poate corespunde unei creșteri a traficului sau unui vârf temporar de conexiuni.
Utilizați aceeași perioadă de observare pentru fiecare parte a auditului. Colectați valorile atât în timp ce site-ul funcționează normal, cât și în timpul unei încetiniri. Astfel veți obține o valoare de referință și un eșantion de incident, în loc să vă bazați pe o singură măsurătoare.
Verificați spațiul de stocare și numărul de fișiere
Înregistrați utilizarea totală a spațiului de stocare și comparați-o cu limita de stocare afișată pentru mediul de găzduire. Separați zonele principale acolo unde este posibil, cum ar fi fișierele site-ului web, fișierele încărcate, copiile de rezervă, jurnalele și fișierele temporare. O avertizare privind spațiul de stocare este justificată atunci când utilizarea totală se apropie de limita planului sau continuă să crească între verificări.
Înregistrați, de asemenea, numărul de fișiere și directoare. Un site poate avea spațiu de stocare disponibil, dar poate genera totuși presiune asupra gestionării sau performanței din cauza unui număr foarte mare de fișiere. Comparați numărul actual cu înregistrările anterioare și identificați care director crește. Acordați o atenție deosebită folderelor de încărcări, fișierelor de cache generate, jurnalelor și locațiilor de backup.
Nu tratați capacitatea de stocare și numărul de fișiere ca fiind aceeași resursă. Un site poate avea nevoie de curățarea fișierelor chiar dacă spațiul de stocare nu este încă plin, și poate avea nevoie de mai mult spațiu de stocare atunci când un număr mic de fișiere mari este responsabil pentru creșterea consumului.
Verificați procesele active și procesele PHP în execuție
Înregistrați numărul de procesori PHP sau de procese ale aplicației aflate în uz în timpul activității normale și în timpul incidentului. Dacă toți procesorii disponibili sunt ocupați în timp ce cererile așteaptă, este posibil ca aplicația să atingă limita maximă de procese. Acest tipar justifică optimizarea sau revizuirea planului de găzduire atunci când se repetă în condiții de trafic obișnuit.
Dacă procesele rămân ocupate deoarece solicitările durează mult, numărul acestora nu identifică singur cauza. Verificați paginile, scripturile sau acțiunile care blochează aceste procese. O aplicație lentă poate consuma procesele disponibile fără a dovedi că mediul de găzduire în sine este subdimensionat.
Includeți în înregistrare și alte procese care rulează. Notați ora de începere, durata și scopul acestora, acolo unde aceste informații sunt disponibile. Un proces care rămâne activ în urma verificărilor repetate merită investigat, mai ales atunci când se suprapune cu încetinirea resimțită de utilizatori.
Verificați conexiunile simultane și cozile de așteptare
Înregistrați conexiunile active atât în perioadele normale, cât și în timpul unui incident. Includeți conexiunile web, la baze de date și alte tipuri relevante de conexiuni afișate de mediu. O avertizare privind conexiunile este justificată atunci când conexiunile active se apropie în mod repetat de limita stabilită sau când cererile rămân în coadă în timp ce capacitatea de conexiune este ocupată.
Comparați modelul conexiunilor cu traficul. Un număr ridicat de conexiuni în timpul unui vârf de trafic poate indica un eveniment de cerere. Un număr ridicat de conexiuni în condiții de trafic normal poate indica cereri lente, un proces al aplicației care nu eliberează conexiunile prompt sau operațiuni ale bazei de date care durează prea mult.
Separați numărul conexiunilor de numărul proceselor. Un site poate avea procesori PHP disponibili, dar totuși să aștepte conexiuni la baza de date. De asemenea, poate avea conexiuni libere la baza de date, în timp ce procesorii aplicației sunt ocupați de cod lent.
Auditați utilizarea bazei de date și interogările active
Înregistrați activitatea bazei de date în timpul încetinirii, inclusiv procesele active și interogările care rămân în execuție. O interogare SQL blocată sau neoptimizată este o cauză frecventă a unui site web lent sau care nu răspunde, iar identificarea și încheierea procesului pot restabili stabilitatea în mediul afectat. Consultați cum să verificați și să încheiați procesele în MySQL pentru procedura relevantă de analiză a proceselor.
Comparați aceeași interogare sau același proces în cadrul mai multor verificări. O interogare care se finalizează rapid este diferită de una care rămâne activă și blochează alte operațiuni. Dacă activitatea bazei de date crește numai atunci când se utilizează o anumită pagină, un formular sau o acțiune a administratorului, investigați acea cale a aplicației înainte de a trata problema ca pe o limită generală a găzduirii.
Verificați sarcinile programate și cozile de sarcini
Enumerați sarcinile programate, orele de execuție, frecvența, scopul și durata acestora. O sarcină CRON este un programator de sarcini bazat pe timp, utilizat pentru acțiuni repetitive, cum ar fi copiile de siguranță ale bazei de date, e-mailurile programate și curățarea cache-ului. Aceste sarcini utilizează resursele serverului în timpul execuției, așa că comparați timpii lor de execuție cu înregistrarea incidentului. Lista de verificare a resurselor pentru sarcinile Cron ale site-ului web oferă o metodă specifică pentru analizarea acestei activități.
Căutați sarcini care se suprapun, care rulează mai mult decât era de așteptat sau care lasă operațiuni repetate în coadă. O coadă care crește la fiecare execuție este un semnal de avertizare că este necesară optimizarea. Dacă coada crește doar în timpul perioadelor de trafic neobișnuit de ridicat, comparați ambele evenimente înainte de a schimba planul de găzduire.
Comparați traficul cu utilizarea resurselor
Înregistrați traficul pentru aceleași perioade ca și valorile de utilizare a resurselor. Comparați traficul normal cu numărul de procese active, conexiuni, procesori PHP, interogări ale bazei de date și sarcini aflate în coadă. Este mai probabil să existe o limită maximă a resurselor atunci când utilizarea atinge limita planului la un trafic obișnuit și acest model se repetă. Un vârf de trafic este o explicație mai plauzibilă atunci când utilizarea resurselor crește doar în timpul unei creșteri neobișnuite a vizitelor sau a cererilor.
Folosiți dovezile pentru a alege următoarea acțiune
- Limita planului atinsă în condiții de trafic normal: optimizați aplicația și evaluați dacă este necesară o schimbare a planului de găzduire.
- Interogări lente sau procese persistente în baza de date: investigați interogarea sau acțiunea aplicației afectate înainte de a schimba planul.
- Worker-i sau conexiuni ocupate de cereri de lungă durată: identificați cererile care le blochează și verificați traseul aplicației.
- Sarcinile programate se suprapun cu încetinirea: verificați durata sarcinii, frecvența și utilizarea resurselor.
- Utilizarea urmează unui vârf de trafic: comparați evenimentul cu valorile normale înainte de a-l considera o nevoie permanentă de capacitate.
- Valorile resurselor rămân normale pe durata incidentului: încetinirea este mai puțin compatibilă cu atingerea limitei maxime a resurselor. Utilizați datele privind intervalul de timp și procesele pentru a distinge cauzele legate de aplicație, interogare, sarcină, trafic și furnizor.
Repetați auditul după fiecare optimizare sau modificare a planului de găzduire. Păstrați aceleași măsurători, astfel încât noile rezultate să poată fi comparate cu valoarea de referință inițială și cu eșantionul de incidente.