• Как исправить ошибку "recv() failed (104: Connection reset by peer) 502" в php-fpm / nginx?

    @CHADo
    Siege разорвал соединение, пока nginx получал данные от php-fpm или что там у тебя в /etc/nginx/conf.d/*.conf;

    Начни с тестов без php, сделай каталог с простым index.html и натрави туда. Если ошибки остались, дело в кол-во обработчиков: 4 процесса по 768 медленнее, чем 1 процесс с 3072 сокетами на современном железе. Подними worker_connections до 2048 хотя бы.

    Далее с backlog
    Через sysctl net.core.somaxconn узнай значение backlog, если оно меньше параметра worker_connections то в sysctl.conf увеличивай до значения = worker_connections
    Такое же значение укажи в fpm listen.backlog
    Ответ написан
    9 комментариев
  • Как исправить ошибку "recv() failed (104: Connection reset by peer) 502" в php-fpm / nginx?

    ptchol
    @ptchol
    Linux system administrator
    Попробуйте в конфиге пула fpm'а установить

    pm = static
    pm.max_children = 60

    и посмотреть, скажется ли это в положительную сторону на вашем тесте.
    Если да, то вам нужно регулировать значения
    pm.max_children \ pm.max_spare_servers в режиме dynamic.
    Их значения будут зависеть от профиля вашей нагрузки, насколько он равномерный или наоборот "пиковый".

    А чем вам не нравиться static ? У Вас как я погляжу на сервере 16Гб оперативки, не так уж и много займут воркеры в "пустом" состоянии.
    Ответ написан
    1 комментарий