Сайт на Nginx + PHP5.6, в последние пару месяцев было ~5000 уникумов в день, ~7000 страниц.
# uptime
10:31:36 up 332 days, 21:49, 1 user, load average: 2.12, 2.12, 2.09
Сегодня Nginx выдал ошибку:
504 Gateway Time-out nginx/1.6.2
По htop вижу, что память выжрал php-fpm. Всего на сервере 1Gb, использовано:
# free -h
total used free shared buffers cached
Mem: 1.0G 923M 83M 68M 65M 713M
-/+ buffers/cache: 145M 862M
Swap: 0B 0B 0B
У php-fpm вижу 1 процесс со статусом D. Процесс, имеющий статус S может получить статус D спустя некоторое время. Пример с процессом 23265:
# ps aux | grep php-fpm
root 460 0.0 1.3 105288 14024 ? Ss 2018 33:25 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
www-data 23232 0.6 3.3 116828 34536 ? S 09:20 0:33 php-fpm: pool www
www-data 23237 0.6 3.3 116860 34648 ? S 09:21 0:29 php-fpm: pool www
www-data 23240 0.7 3.2 116780 33752 ? S 09:22 0:32 php-fpm: pool www
www-data 23264 0.5 3.3 116568 34312 ? D 09:27 0:23 php-fpm: pool www
www-data 23265 0.6 3.3 116816 34748 ? S 09:27 0:26 php-fpm: pool www
root 23992 0.0 0.2 4556 2108 pts/0 S+ 10:39 0:00 grep php-fpm
# ps aux | grep php-fpm
root 460 0.0 1.3 105288 14024 ? Ss 2018 33:25 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
www-data 23232 0.7 3.3 116828 34536 ? S 09:20 0:35 php-fpm: pool www
www-data 23237 0.6 3.3 116676 34464 ? S 09:21 0:31 php-fpm: pool www
www-data 23240 0.7 3.2 116700 33816 ? S 09:22 0:35 php-fpm: pool www
www-data 23264 0.5 3.3 116568 34396 ? S 09:27 0:26 php-fpm: pool www
www-data 23265 0.6 3.3 116816 34748 ? D 09:27 0:29 php-fpm: pool www
root 24029 0.0 0.2 4556 2152 pts/0 S+ 10:44 0:00 grep php-fpm
Вот. Что все это значит? Перед тем как я сделаю ребут, хотел бы понять что произошло, чего серверу не хватило.
Хотя, перед ребутом я попробую перезапустить php-fpm, может и ребутиться ненадо. Но хотелось бы понять в чем причина 504-й ошибки.
Перемещено leave из web-development