2010/09/19 14:52:07 [error] 1419#0: *10220 recv() failed
(104: Connection reset by peer) while reading response header from upstream,
client: [...], server: [...], request: "POST /[...] HTTP/1.1", upstream:
"fastcgi://unix:/server/php-fpm.sock:", host: "[...]",
referrer: "[...]"
Это ошибка, которую я получаю случайно. В 95% случаев моя установка работает идеально, но время от времени я получаю 502 за 3-4 последующих запроса.
Я использую сокет Unix между сервером и процессом PHP, как вы можете видеть, также правильно настроил параметры FastCGI (SCRIPT_FILENAME) и т.д.
Что я могу сделать с этим, чтобы усилить связь между этими службами?
Заранее большое спасибо.
взгляните на свой php5-fpm.conf, возможно, вы достигли предела pm.max_children, который также является количеством одновременных запросов, которые может обрабатывать ваш сервер.
этот предел может быть легко достигнут, если у вас есть сценарии, которые могут запускать процессы (остерегайтесь зомби!), или если у вас есть длинные запросы времени выполнения
У вас должны были закончиться некоторые системные ресурсы (например, somaxcon, maxfiles и т. Д.)
Проверьте свои
# netstat -s
для падений, ошибок и отсутствия буферов
Таким образом, вы можете играть с sysctl (например, max_dgram_qlen)
Я часто слышал, что PHP-FPM имеет проблемы с сокетами Unix. Попробуй переключиться на инет сокеты. Честно говоря, мне это не помогло в той же ситуации, но может помочь вам :).