Puncte:0

Eroare de încărcare a paginii

drapel co

În mediul meu de producție, observ o problemă sporadică în care paginile durează mult să se încarce. În jurnalele de erori vedem:

Eroare fatală PHP: Timpul maxim de execuție de 30 de secunde a fost depășit

Linia afectată este locul în care este creată o sesiune pentru utilizator.

Directoarele sunt fizice. Există +3,5 milioane de fișiere în director. Colectarea gunoiului este setată pentru 31 de zile pentru sesiunile în PHP.

Ne-ați putea sfătui cu privire la problemele cu care ne confruntăm și cum să le rezolvăm?

Solutii posibile la care m-am gandit:
Creșteți IOPS furnizat pe unitate
Ștergeți datele sesiunii la fiecare X zile
Schimbați politica de scalare, astfel încât, dacă numărul de sesiuni de pe orice server depășește numărul X, vom rula a 
server nou
Schimbați tipul de instanță al serverelor noastre de producție
Mutați datele sesiunii în altă parte 
stocați datele sesiunii în DB
AWS API GateWay
caching elastic

Poate cineva sa ne sfatuiasca in ce probleme?

drapel jp
Trebuie să vă profilați aplicația pentru a verifica exact pentru ce își petrece timpul. Începeți prin a căuta pe google „Profilare PHP”, „PHP APM”.
drapel cn
Avem nevoie de mai multe informații - ce face PHP când creează sesiunea? Ce tipuri de baze de date/stocare sunt utilizate? Ce dimensiune de server? Cât de mare este încărcătura?
Santosh Baruah avatar
drapel co
Problema este sporadică, așa că nu o pot declanșa. Comportamentul este consecvent că este întotdeauna pornirea sesiunii care durează peste 30 de secunde pentru a se executa. Liniile anterioare rulează bine, dacă listăm conținutul directorului de sesiuni (ls /var/www/sessions/) durează +45 de secunde doar din linia de comandă. Cred că monitorizarea aplicației ar fi bună, dar aceasta pare a fi o problemă la nivel de sistem.
Tim avatar
drapel gp
Tim
Ce OS? Ce tip de instanță? Ați luat în considerare creditele CPU? Vorbești despre directoare, cât de relevant este asta? Dacă aveți 3,5 milioane de sesiuni în cache într-un folder care este probabil prost, poate doriți să le curățați mult mai devreme.
drapel jp
arată rezultatul `find /var/www/sessions/ | wc -l`.
Santosh Baruah avatar
drapel co
Boții nu păstrează sesiuni, astfel încât orice roboți care îl vizitează generează un fișier nou pentru fiecare pagină pe care o vizitează. Pentru monitorizarea aplicațiilor, există vreun instrument pe care l-ați recomanda să folosim?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.