Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 12399|Răspunde: 0

[Web] php-fpm.conf doi parametri esențiali

[Copiază linkul]
Postat pe 06.11.2014 09:35:52 | | |
  Aceasta specifică conexiunea, trimiterea și citirea PHP-CGIOră, 300 de secunde sunt suficiente, deci al meuServer504-urile apar rarPoartaEroare de time-out. Cel mai important lucru estePHP-FPM.ConfdeConfigurat, ceea ce va duce direct la 502 Bad Gateway și 504 Gateway Time-out.
Să aruncăm o privire mai atentă asupra unor părți importante ale php-fpm.confparametru
php-fpm.conf are doi parametri esențiali, unul este "max_children" și celălalt este "request_terminate_timeout"
Am două setări cu valori "40" și "900", dar această valoare nu este universală, ci trebuie calculată de mine.
    Iată cum se calculează:
      Dacă e al tăuServiciuInstrumentperformanțăSuficient de bine, iar resursele de bandă largă sunt suficiente, PHPScenariuDacă nu există bucle sau bug-uri, poți pur și simplu să setezi "request_terminate_timeout" la 0. 0s înseamnă că PHP-CGI rulează tot timpul fără o limită de timp. Dacă nu poți face asta, adică PHP-CGI-ul tău poate avea un anumit bug, sau lățimea ta de bandă nu este suficientă sau alte motive fac ca PHP-CGI-ul tău să se prefacă moarte, atunci este recomandat să atribui o valoare "request_terminate_timeout", care poate fi setată în funcție de performanța serverului tău. În general, cu cât performanța este mai bună, cu atât o poți seta mai sus, 20 de minute - 30 de minute este în regulă. Deoarece scripturile PHP ale serverului meu durează mult să ruleze, unele pot dura mai mult de 10 minute, așa că le-am setat la 900 de secunde ca să nu se oprească PHP-CGI și să apară eroarea 502 Bad gateway.

Și cum se calculează valoarea "max_children"? În principiu, cu cât mai mare, cu atât mai bine, php-cgiProcesDacă sunt mai multe, vor fi procesate rapid și vor fi puține cereri în coadă. max_children În general, în condiții normale, un server consumă aproximativ 20M de memorie per php-CGI, așa că setez "max_children" la 40, 20M*40=800M, ceea ce înseamnă că tot PHP-CGI consuma mai puțin de 800M la momentul de vârf, ceea ce este mai mic decât memoria mea efectivă de 1Gb. Și dacă "max_children" meu este setat mai mic, de exemplu 5-10, atunci php-CGI va fi "foarte obositor", viteza de procesare este de asemenea foarte lentă, iar timpul de așteptare este mai lung. Dacă cererea nu a fost procesată de mult timp, va apărea eroarea de time-out a gateway-ului 504, iar cgi-ul php care este procesat va întâmpina o eroare gateway 502 Bad dacă întâmpină probleme.




Precedent:Nginx php-fpm apare soluții 502 și experiențe de ajustare
Următor:Descărcare Pachetului de Compatibilitate pentru Sistemul Office 2007
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com