Mam Nginx + php5-fpm . Kilka razy na godzinę moja strona zacina się, aw pliku dziennika widzę:
OSTRZEŻENIE: Serwer [pula www] osiągnął ustawienie pm.max_children (5), rozważ podniesienie go.
Plik /etc/php5/fpm/pool.d/www.conf zawiera następującą konfigurację:
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
Serwer: AMD Opteron ™ 3280, ośmiordzeniowy, 8x 2,4 GHz, 16 GB DIMM (DDR3).
Nie mam pojęcia, jakie liczby powinienem umieścić w pliku www.conf dla tego serwera. Czy mogę komuś pomóc? Dzięki
pm.max_children
jest o wiele za niski . Wartość 10 jest rozsądna w przypadku małego serwera VPS z 1 GB pamięci RAM; masz znacznie większy serwer. Podnoś tę wartość, aż przestaniesz otrzymywać błędy, a następnie podnieś ją ponownie na wypadek gwałtownego wzrostu ruchu.Odkryłem, że ustawienie wartości pm.max_requests (domyślnie komentowane) pomogło w naprawie tych błędów. To ustawienie wymusza odrodzenie żądań potomnych po wykonaniu określonej liczby żądań i może być pomocne, jeśli gdzieś w kodzie lub bibliotekach innych firm występują wycieki pamięci.
W /etc/php-fpm.d/www.conf :
źródło
Ten link może być przydatny - wyjaśnia, jak obliczyć liczbę procesów potomnych na podstawie ilości pamięci w systemie:
źródło