Помогает добавление указанных вами опций в конфинг, но при их удалении из конфига и перезагрузке nginx проблема не появляется снова. Как это можно объяснить? Хотел, удаляя по одной строке, определить, какая опция решала проблему, в итоге удалил их все, а ошибку 500 nginx больше не выдает...
netwind: Она на основе программы dmidecode формирует этот отчет. Поэтому лучше поставить и переделать. Остальное тоже зря порезали - NUMA, частоты процессора и тд. Это все может иметь значение.
vkulakov: Если сервер можно остановить, то пробуйте Memtest86.
К сожалению, остановить сервер сложно. Проверил утилитой memtester:
vkulakov: А есть уверенность, что LA увеличился действительно после увеличения памяти? Может просто время пришло, а память - это совпадение?
Совпадение маловероятно, нагрузка (какой ранее не было) появилась сразу же после добавления модулей.
netwind: Denniz, могли не очень совместимую конфигурацию модулей напихать или модули неверно инциализировались. Я бы сначала проверить по мануалу как надо их втыкать, последней ли версии bios. Еще может NUMA включиться и тут ничего хорошего не бывает.
Стоят ведь 4 одинаковых модуля. Ранее 2 таких работали без проблем.
Модули установлены в слоты 1A, 1B, 2A, 2B в соответствии с инструкцией:
Единственное, непонятно, на какой скорости будут работать модули 1B и 2B - получается, на частоте 800 вместо 1333, а 1A и 2A - на 1333?
Yuriy84: Denniz, фильтры посредством top команды для процессов в состоянии D = "uninterruptible sleep"
Нет выдает процессов в состоянии D.
netwind: Вот еще предложу программу pt-summary запустить, посмотреть и показать вывод на форум. Эта программа массу информации соберет, о важности которой ТС даже не думал. Конфигурацию модулей памяти она достает тоже.
Конфигурацию памяти в выводе pt-summary не нашел. Вот, что было о памяти:
Вряд ли запись в файл будет давать насколько большую нагрузку, что апач из-за нее будет зависать?
---------- Добавлено 17.04.2016 в 14:03 ----------
adnull: Дело в том, что конфигурация по maxspareservers у вас указана для модуля mpm_prefork, когда по вашим словам установлен itk. Вам нужно указать те же настройки для модуля itk:
Хм, а разве itk не использует конфигурацию от mpm_prefork?
Добавил <IfModule itk.c>, посмотрим как изменится поведение.
Может, кто-нибудь все-таки знает?
попробуй добавить
Помогает добавление указанных вами опций в конфинг, но при их удалении из конфига и перезагрузке nginx проблема не появляется снова. Как это можно объяснить? Хотел, удаляя по одной строке, определить, какая опция решала проблему, в итоге удалил их все, а ошибку 500 nginx больше не выдает...
Так может проблема в обработке скрипта? Если делать меньше 10кб то всё ок?
Вам 500 ошибку кто выдаёт nginx или апатч?
Да, POST-запрос меньше 10 Кб проходит успешно, но на байт больше - ошибка 500, выдает nginx. В скриптах никаких лимитов нет.
---------- Добавлено 21.11.2016 в 16:15 ----------
Может, кто-нибудь в курсе, какие еще лимиты в системе можно посмотреть? Стоит Centos 6.8
у вас PHP как mod или fpm? Просто по первой ссылке настройка и для PHP тоже.
PHP как mod. В php.ini тоже нормальное число стоит:
https://www.google.ru/search?client=opera&q=nginx+body+size+limit&sourceid=opera&ie=UTF-8&oe=UTF-8
В конфиге стоит
- не помогает. Может, есть еще какие-то ограничители?Она на основе программы dmidecode формирует этот отчет. Поэтому лучше поставить и переделать.
Остальное тоже зря порезали - NUMA, частоты процессора и тд. Это все может иметь значение.
Действительно, с dmidecode отчет изменился:
Если сервер можно остановить, то пробуйте Memtest86.
К сожалению, остановить сервер сложно. Проверил утилитой memtester:
А есть уверенность, что LA увеличился действительно после увеличения памяти? Может просто время пришло, а память - это совпадение?
Совпадение маловероятно, нагрузка (какой ранее не было) появилась сразу же после добавления модулей.
Denniz, могли не очень совместимую конфигурацию модулей напихать или модули неверно инциализировались. Я бы сначала проверить по мануалу как надо их втыкать, последней ли версии bios. Еще может NUMA включиться и тут ничего хорошего не бывает.
Стоят ведь 4 одинаковых модуля. Ранее 2 таких работали без проблем.
Мат. плата / Память
Модули установлены в слоты 1A, 1B, 2A, 2B в соответствии с инструкцией:
Единственное, непонятно, на какой скорости будут работать модули 1B и 2B - получается, на частоте 800 вместо 1333, а 1A и 2A - на 1333?
Denniz, фильтры посредством top команды для процессов в состоянии D = "uninterruptible sleep"
Нет выдает процессов в состоянии D.
Вот еще предложу программу pt-summary запустить, посмотреть и показать вывод на форум. Эта программа массу информации соберет, о важности которой ТС даже не думал. Конфигурацию модулей памяти она достает тоже.
Конфигурацию памяти в выводе pt-summary не нашел. Вот, что было о памяти:
Судя по гуглу, может. Вот тема, например.
В той теме у человека модули памяти разных размеров и типов.
В моем случае 4 одинаковых модуля по 8 Gb.
Хорошо бы посмотреть, какое приложение начало ресурсы жрать - может и приложение косячное быть и с большой памятью плохо работать.
На первый взгляд ничего не изменилось, те же самые процессы с той же нагрузкой, MySQL, PHP:
Может память битая и из-за этого тоже проблемы.
Подскажите, пожалуйста, как это можно проверить?
а чем они занимаются эти процессы?
Непонятно чем занимаются, просто висят. На скриншоте http://prnt.sc/asqab7 видно, что большинство из них CLOSE_WAIT.
тормоза диска
Диски - современные SSD в raid 1
скрипт который отдает 404 чем то долго занимается
Скрипт, который отдает 404 запускается из .htaccess:
делает запись в текстовый файл, выводит сообщение об ошибке и завершается:
$fp = fopen("404.log", "a");fputs($fp, date("Y-m-d H:i:s") . "\t" . $_SERVER["REMOTE_ADDR"] . "\t" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] . "\t" . $_SERVER["HTTP_REFERER"] . "\n");
fclose($fp);
Вряд ли запись в файл будет давать насколько большую нагрузку, что апач из-за нее будет зависать?
---------- Добавлено 17.04.2016 в 14:03 ----------
Дело в том, что конфигурация по maxspareservers у вас указана для модуля mpm_prefork, когда по вашим словам установлен itk. Вам нужно указать те же настройки для модуля itk:
Хм, а разве itk не использует конфигурацию от mpm_prefork?
Добавил <IfModule itk.c>, посмотрим как изменится поведение.
Конфигурация:
Timeout 30
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c>
StartServers 10
MinSpareServers 10
MaxSpareServers 40
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 1000
</IfModule>
---------- Добавлено 16.04.2016 в 12:54 ----------
foxi, я имел в виду, что KeepAlive в апаче отключен, т.к. сверху стоит nginx
---------- Добавлено 16.04.2016 в 12:56 ----------
Несмотря на то, что стоят лимиты ServerLimit 100 и MaxClients 100, неактивные процессы httpd доходят количества 500 штук.