Как исправить ошибку «recv() failed (104: Connection reset by peer) 502» в php-fpm / nginx?
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
Проблема шире чем кажется:
Надо понимать, что это означает - отвалился php
отвалиться он может по нескольким причинам:
1) лимиты в самом php.ini - первое из них время выполнения php скрипта
2) лимиты удержания сокета (конекта) настройки php-fpm
3) лимиты ожидания ответа от php-fpm со стороны nginx
4) все процессы заняты (умерли)
И вот когда все таймауты правильно настроенны и вас нет ооооочень долго выполняющихся скриптов - тогда все чики пуки.
Тюнить надо одновременно все эти 4 составляющие, понимаю взаимодействие.