führen werden Ich weiß nicht, wenn ich einen sehr großen Wert für den nginx Backlog setze, welche Konsequenzen dazu führen werden. Wer kann mir sagen?Ich setze einen sehr großen Wert für den nginx Rückstand, welche Konsequenzen zu
Antwort
Es ist zu groß für php-fpm das hört Rückstand auf 65535 Es ist wirklich nicht eine gute Idee, um die Annahmeschlange besonders , wenn der Client oder nginx ein Timeout für diese Verbindung zu verstopfen hat.
Nehmen Sie an, dass die php-fpm qps 5000 ist. Es dauert 13s, um die 65535 Backloged-Verbindungen vollständig zu verbrauchen . Die Verbindung wurde möglicherweise bereits wegen Timeout von Nginx oder Clients geschlossen. Also, wenn wir die 65535. Buchse annehmen, bekommen wir ein kaputtes Rohr.
Noch schlimmer ist, wenn Hunderte von php-fpm Prozesse erhalten eine geschlossene Verbindung sie nur Zeit und resouces verschwenden eine schwere Aufgabe zu laufen und schließlich Fehler, wenn in die geschlossene Verbindung (Fehler: Gebrochene Pipe) zu schreiben.
Die wirklich maximale Anzahl der akzeptierten Warteschlangen ist Backlog + 1 (dh 512 hier). Wir nehmen 511, das ist das gleiche wie Nginx und Redis.