Apache — Тайм-аут сайта после случайного времени (перед перезапуском Apache)

Привет сообщество stackoverflow,

У меня большая проблема с моим сервером Apache.

(Сейчас я использую Google Translate для сообщения)

По неизвестной мне причине случайным образом мой сервер Apache2 перестает отвечать на запросы (Ошибка 500).

Я заметил что-то, когда проблема возникает, в файле «error.log», я всегда нахожу эту строку:

[Mon Aug 14 18:42:39.917495 2017] [mpm_prefork:error] [pid 23163] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

После этого я попросил изменить значение «MaxRequestWorkers», но оно ничего не изменило, проблема все еще есть.

Я также заметил, что, как правило, когда возникает проблема, он следит за сильным запросом сосет сервер Apache (особенно
последняя, ​​грубая силовая атака), с такими журналами (access.log):

http://p.hexicans.eu/MMgRunkXQX

В файле «error.log» я также записал много таких ошибок:

[Mon Aug 14 18:28:58.366861 2017] [core:warn] [pid 20916] AH00045: child process 22399 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366873 2017] [core:warn] [pid 20916] AH00045: child process 22401 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366883 2017] [core:warn] [pid 20916] AH00045: child process 22402 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366890 2017] [core:warn] [pid 20916] AH00045: child process 22425 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366898 2017] [core:warn] [pid 20916] AH00045: child process 22428 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366910 2017] [core:warn] [pid 20916] AH00045: child process 22451 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366923 2017] [core:warn] [pid 20916] AH00045: child process 22456 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366965 2017] [core:warn] [pid 20916] AH00045: child process 22460 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366981 2017] [core:warn] [pid 20916] AH00045: child process 22466 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366990 2017] [core:warn] [pid 20916] AH00045: child process 22468 still did not exit, sending a SIGTERM
[Mon Aug 14 18:28:58.366997 2017] [core:warn] [pid 20916] AH00045: child process 22469 still did not exit, sending a SIGTERM

Я уже потратил много времени в поисках решения, и до сих пор я не нашел его, поэтому я направляюсь на этот форум ^^

Мой файл «/etc/apache2/mods-enabled/mpm_prefork.conf»:

<IfModule mpm_prefork_module>
ServerLimit              500
StartServers             10
MinSpareServers          10
MaxSpareServers          400
MaxRequestWorkers        256
MaxConnectionsPerChild   0
KeepAlive                Off
</IfModule>

Дополнительная информация :

  • ОС: Ubuntu 16.04.3 LTS
  • Apache: Apache / 2.4.18 (Ubuntu)
  • PHP: Zend Engine v3.0.0, Copyright (c) 1998-2017

Заранее спасибо за вашу помощь !

0

Решение

Директива MaxRequestWorkers устанавливает ограничение на количество одновременных запросов, которые будут обслуживаться. Любые попытки подключения сверх лимита MaxRequestWorkers обычно ставятся в очередь, вплоть до числа, основанного на директиве ListenBacklog. Как только дочерний процесс освобождается в конце другого запроса, соединение будет обслуживаться.

MaxRequestWorkers означает максимальное количество дочерних процессов, которые будут запущены для обслуживания запросов. Значение по умолчанию — 256; увеличить его, Вы также должны поднять ServerLimit.

0

Другие решения

Раньше я только что заметил,

Проблема возникает только на сайтах, которые не входят в HTTPS (и уходит через несколько часов).

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector