php-fpm

12
R
На сайте с 21.12.2024
Offline
12
1438

подскажите пожалуйста лог php-fpm козлит 

server reached pm.max_children setting (80), consider raising it

seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children are 0 idle, and 79 total children

На серванте 8 CPU, 16 Gb памяти 

ps -ylC php-fpm --sort:rss -u www-data

S   UID   PID  PPID  C PRI  NI   RSS    SZ WCHAN  TTY          TIME CMD

S    33   638   637  0  80   0 12228 11324 do_epo ?        00:00:00 nginx

S    33   649   637  0  80   0 13544 11453 do_epo ?        00:00:00 nginx

S    33   650   637  0  80   0 14000 11510 do_epo ?        00:00:00 nginx

S    33   639   637  0  80   0 15120 11817 do_epo ?        00:00:01 nginx

S    33   641   637  0  80   0 15716 11918 do_epo ?        00:00:01 nginx

S    33   646   637  0  80   0 16816 11761 do_epo ?        00:00:02 nginx

S    33   644   637  0  80   0 16916 12211 do_epo ?        00:00:01 nginx

S    33   640   637  0  80   0 20980 12577 do_epo ?        00:01:39 nginx

текущие настройки:

pm = dynamic

pm.max_children = 80

pm.start_servers = 6

pm.min_spare_servers = 4

pm.max_spare_servers = 8

pm.max_requests = 500


Или поставить?

pm = dynamic

pm.max_children = 80

pm.start_servers = 24

pm.min_spare_servers = 16

pm.max_spare_servers = 32

pm.max_requests = 500


L
На сайте с 10.02.2015
Online
260
#1

php процессы скорее в ожидании вашей тупящей базы
Или наоборот

R
На сайте с 21.12.2024
Offline
12
#2
livetv #:

php процессы скорее в ожидании вашей тупящей базы
Или наоборот

нифига не понял, база вроде не особо тупит, хотя в тот момент похоже подвисала

R
На сайте с 21.12.2024
Offline
12
#3

оптимально в принципе для этого сервера должно быть

pm = dynamic

pm.max_children = 40

pm.start_servers = 8

pm.min_spare_servers = 4

pm.max_spare_servers = 12

pm.max_requests = 500

Aisamiery
На сайте с 12.04.2015
Offline
319
#4
Rashp #:

оптимально в принципе для этого сервера должно быть

pm = dynamic

pm.max_children = 40

pm.start_servers = 8

pm.min_spare_servers = 4

pm.max_spare_servers = 12

pm.max_requests = 500

Как вы это определяете? =))) Это достаточно мало, у вас 40 дочерних процессов, я хз что у вас за сайт. И зачем вы каждые 500 запросов убиваете тред?

Я не претендую конечно на какую то первую инстанцию, но например у меня вот такой конфиг на каждый инстанс

pm.max_children = 50
pm.start_servers = 14
pm.min_spare_servers = 10
pm.max_spare_servers = 18

Для процесса php выделено 512Мб, каждый инстанс ограничен 4Гб памяти
Вот 6 инстанцев на хост машине с 12 ядрами и 8Гб оперативки

Как видно даже 50 потоков не могут сожрать всю доступную память, а у меня нагрузка на бэк примерно 20-25rps днем

С учетом того что на хост машине не только php-fpm крутится а еще есть вспомогательные приложения, загрузка хостмашины примерно натая в течении дня


Я бы на вашем месте поиграл с настройками, можете поставить агента https://amplify.nginx.com/и посмотреть потребление вашим php-fpm и поиграть настройками, главное не делайте дочерних тредов больше чем может быть подключений к БД

NGINX Monitoring Made Easy
  • amplify.nginx.com
Amplify is a SaaS tool to monitor NGINX-based web apps, with a built-in static analyzer for NGINX config. Amplify is run by Nginx, Inc.
Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
R
На сайте с 21.12.2024
Offline
12
#5
Aisamiery #:
И зачем вы каждые 500 запросов убиваете тред?

выжирает память иначе

damn-doubleclick
На сайте с 10.09.2021
Offline
63
#6
Rashp #:

выжирает память иначе

Если не разбираетесь в конфиге то купите Litespeed. 

Лучший хостер с адекватными сис. админами: https://clck.ru/35zGfN
R
На сайте с 21.12.2024
Offline
12
#7
damn-doubleclick #:

Если не разбираетесь в конфиге то купите Litespeed. 

Что за бред? 

lutskboy
На сайте с 22.11.2013
Offline
192
#8
Aisamiery #:
Я не претендую конечно на какую то первую инстанцию, но например у меня вот такой конфиг на каждый инстанс

для впс 2 ядра 4гб какие оптимальные настройки?

Aisamiery
На сайте с 12.04.2015
Offline
319
#9
lutskboy #:

для впс 2 ядра 4гб какие оптимальные настройки?

нет оптимальных настроек по железу, надо крутить настройки и смотреть результаты. Я советую всегда поставить какой то мониторинг, самый простой уже выше давал  https://amplify.nginx.com/ он мониторит nginx, php-fpm, и БД, там сразу можно тюнить и видеть результаты

NGINX Monitoring Made Easy
  • amplify.nginx.com
Amplify is a SaaS tool to monitor NGINX-based web apps, with a built-in static analyzer for NGINX config. Amplify is run by Nginx, Inc.
R
На сайте с 21.12.2024
Offline
12
#10
Aisamiery #:

нет оптимальных настроек по железу, надо крутить настройки и смотреть результаты. Я советую всегда поставить какой то мониторинг, самый простой уже выше давал  https://amplify.nginx.com/ он мониторит nginx, php-fpm, и БД, там сразу можно тюнить и видеть результаты

кроме железа, еще вопрос и оптимизации движка cms или сайта если рукописный, а также индексов в БД

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий