Добрый день,
Если кто знает подскажите, пожалуйста, в чем может быть причина:
Бывают моменты, когда отклик от сайта вырастает на столько что выдается ошибка "504 Gateway timed out | nginx".
Сервер CentOS 1.5Gb ram посещаемость 1.4К уников, 99% незарегистрированные (boost стоит).
Команда top выдает о обычном режиме 48 tasks sleeping и 1 running, СPU 0.8%, но наступает момент, когда running растет и когда переходит за 20 перестает отвечать на запросы и нагрузка на процессор становиться 30-40% см. картинку.
Если правильно понял, "параллеляться" запросы и сервер уже не справляется.
С какими настройками сервера это может быть связано?
MaxClients стояло 30, сейчас на 20 поставил.
Вложение | Размер |
---|---|
top.jpg | 223.2 КБ |
Комментарии
load average 35, да сервак загружен по самые яйца.
MaxClients мертвому припарка, разбирайтесь с кодом!
Да, там, Drupal 7 и штук 15 модулей, вроде проблем не должно быть с кодом.
Интересно можно ли узнать какой скрипт грузит сервер?
я бы установил утилитку new relic и посмотрел в момент нагрузки что так грузит. там триал на месяц дают
Может в это время крон какие-то задачи выполняет?
попробывал его запустить, не грузит так...
возможно придется, если по-другому не найду.
по другому это ставить xhprof, но он не дает так наглядно как new relic. devel даст инфу только по запросам к базе
В момент очередного перегруза, глянул на /server-status, c одного IP шел один и тот же запрос
"GET /node/858 HTTP/1.0" 52 раза!
Не понял чего это и как это получилось.
Нагрузка в этот момент стала такой "60 requests currently being processed, 7 idle workers" и сервер "встал".
Самое интересное, что boost включен и apache не должен был задействован. Пробывал сам на 20 вкладках загружал эту страницу, сервер справлялся и задание в /server-status даже не появлялось.
Думаю, чего делать то...
Где скачать xhprof???