AH00161: сервер достиг настройки MaxRequestWorkers, рассмотрите возможность повышения настройки MaxRequestWorkers
у меня довольно занятый сервер: PHP (Wordpress) с использованием W3TOTALCACHE APC, лак для Apache и Cloudflare для обработки всего трафика. Ubuntu 14.04.4 LTS
только один веб-сайт со средним количеством просмотров 60k / день.
Я получаю это сообщение время от времени, несколько раз в день. Не имеет ничего общего с временными всплесками трафика, мы сравнили время с Google Analytics.
Thu Apr 28 14:14:42.938075 2016] [mpm_prefork:error] [pid 19137] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
[Thu Apr 28 15:43:25.594147 2016] [core:notice] [pid 19137] AH00051: child pid 19866 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594313 2016] [core:notice] [pid 19137] AH00051: child pid 20386 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594407 2016] [core:notice] [pid 19137] AH00051: child pid 19143 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594498 2016] [core:notice] [pid 19137] AH00051: child pid 19144 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594572 2016] [core:notice] [pid 19137] AH00051: child pid 20597 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594642 2016] [core:notice] [pid 19137] AH00051: child pid 20395 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594704 2016] [core:notice] [pid 19137] AH00051: child pid 20424 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594785 2016] [core:notice] [pid 19137] AH00051: child pid 20598 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594870 2016] [core:notice] [pid 19137] AH00051: child pid 19861 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Thu Apr 28 15:43:25.594957 2016] [core:notice] [pid 19137] AH00051: child pid 19782 exit signal Segmentation fault (11), possible coredump in /etc/apache2
....
....
таким образом, я увеличил MaxRequestWorkers сначала до 100, затем 500, теперь его на 1024. Но все равно происходит.
Это мой apache2.конф в данный момент. Код:
<IfModule mpm_worker_module>
StartServers 256
MinSpareThreads 256
MaxSpareThreads 256
MaxClients 256
ServerLimit 256
ThreadLimit 256
ThreadsPerChild 256
MaxRequestWorkers 1024
MaxConnectionsPerChild 0
MaxRequestPerChild 1000
</IfModule>
есть много свободного ОЗУ, а средняя нагрузка составляет около 0,5, иногда более 1. Но никогда не видел его выше 2. Таким образом, сервер кажется здоровым для обработки трафика.
top - 16:07:47 up 3 days, 18:18, 2 users, load average: 0.57, 0.46, 0.55
Tasks: 113 total, 1 running, 112 sleeping, 0 stopped, 0 zombie
%Cpu(s): 10.5 us, 2.0 sy, 0.0 ni, 87.4 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 8176816 total, 2372560 used, 5804256 free, 189684 buffers
KiB Swap: 0 total, 0 used, 0 free. 1286692 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21930 www-data 20 0 337212 83308 60072 S 24.9 1.0 0:52.89 apache2
21945 www-data 20 0 327640 72684 58816 S 24.3 0.9 0:48.37 apache2
1182 nobody 20 0 702868 442268 83496 S 0.7 5.4 42:41.32 varnishd
есть идеи, почему Apache прерывает?
/ / j
4 ответов
в основном конфиге есть overritten в: /etc/apache2/mods-доступно / mpm_prefork.conf
Я поместил новую настройку в этот файл и, похоже, Apache работает правильно.
надеюсь, это поможет кому-то еще, не ставьте свою конфигурацию прямо в apache2.conf или httpd.conf. Убедитесь, что вы изменили все загруженные файлы конфигурации.
вы изменили неправильный файл. Ваш лог говорит "mpm_prefork" ошибка. Поэтому вам нужно изменить mpm_prefork.conf, а не mpm_worker.conf.
вы также можете использовать "apachectl-M", чтобы узнать, какой модуль вы используете. например, мой apache2 использует mpm_event_module, поэтому мне нужно изменить mpm_event.conf
$ apache2ctl -M
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
mime_module (shared)
**mpm_event_module (shared)**
negotiation_module (shared)
setenvif_module (shared)
status_module (shared)
wsgi_module (shared)
вы должны изменить mpm_prefork
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 20
ServerLimit 2000
MaxRequestWorkers 1500
MaxConnectionsPerChild 10000
</IfModule>
вы можете проверить журнал доступа к веб-серверу. Вы можете быть целью атаки xml-rpc в случае, если журнал заполнен сообщениями xml-rpc(например, "POST /xmlrpc.php HTTP / 1.1 " 200 403). Существуют различные способы предотвратить это, но Wordpress склонен к этому.