Denniz

Рейтинг
9
Регистрация
16.04.2016

Может, кто-нибудь все-таки знает?

Logger:
попробуй добавить

Помогает добавление указанных вами опций в конфинг, но при их удалении из конфига и перезагрузке nginx проблема не появляется снова. Как это можно объяснить? Хотел, удаляя по одной строке, определить, какая опция решала проблему, в итоге удалил их все, а ошибку 500 nginx больше не выдает...

LEOnidUKG:
Так может проблема в обработке скрипта? Если делать меньше 10кб то всё ок?
Вам 500 ошибку кто выдаёт nginx или апатч?

Да, POST-запрос меньше 10 Кб проходит успешно, но на байт больше - ошибка 500, выдает nginx. В скриптах никаких лимитов нет.

HTTP/1.1 100 Continue

HTTP/1.1 500 Internal Server Error
Server: nginx
Date: Mon, 21 Nov 2016 11:47:23 GMT
Content-Type: text/html
Content-Length: 588
Connection: close


---------- Добавлено 21.11.2016 в 16:15 ----------

Может, кто-нибудь в курсе, какие еще лимиты в системе можно посмотреть? Стоит Centos 6.8
LEOnidUKG:
у вас PHP как mod или fpm? Просто по первой ссылке настройка и для PHP тоже.

PHP как mod. В php.ini тоже нормальное число стоит:

post_max_size = 16M

В конфиге стоит

client_max_body_size 100M;
- не помогает. Может, есть еще какие-то ограничители?
netwind:
Она на основе программы dmidecode формирует этот отчет. Поэтому лучше поставить и переделать.
Остальное тоже зря порезали - NUMA, частоты процессора и тд. Это все может иметь значение.

Действительно, с dmidecode отчет изменился:

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 не нашел. Вот, что было о памяти:

vkulakov:
Судя по гуглу, может. Вот тема, например.

В той теме у человека модули памяти разных размеров и типов.

В моем случае 4 одинаковых модуля по 8 Gb.

vkulakov:
Хорошо бы посмотреть, какое приложение начало ресурсы жрать - может и приложение косячное быть и с большой памятью плохо работать.

На первый взгляд ничего не изменилось, те же самые процессы с той же нагрузкой, MySQL, PHP:

vkulakov:
Может память битая и из-за этого тоже проблемы.

Подскажите, пожалуйста, как это можно проверить?

Den73:
а чем они занимаются эти процессы?

Непонятно чем занимаются, просто висят. На скриншоте http://prnt.sc/asqab7 видно, что большинство из них CLOSE_WAIT.

Den73:
тормоза диска

Диски - современные SSD в raid 1

Den73:
скрипт который отдает 404 чем то долго занимается

Скрипт, который отдает 404 запускается из .htaccess:

ErrorDocument 404 /404.php

делает запись в текстовый файл, выводит сообщение об ошибке и завершается:

$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 ----------

adnull:
Дело в том, что конфигурация по 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 штук.

12
Всего: 13