Дважды сегодня утром, где-то рано утром, а затем снова около 8-9 утра, наш сервер Apache не отвечал, хотя служба показывала, что работает. Мы сбрасываем его с помощью сервиса httpd restart, который, похоже, решает проблему. До этого наш сервер работал около трех месяцев.
Я прочитал другую статью и изменил MaxClients и другое значение на 512 с 256, так как отображалось сообщение «[ошибка] сервер достиг настройки MaxClients, рассмотрите возможность увеличения настройки MaxClients», но это было сегодня в 9:05. Сегодня утром не было ни одного показа "аварии".
Вот некоторые из текущих error_log:
[Tue Mar 31 01:22:11 2015] [error] [client 192.187.126.162] script '/home/www/www.pixelark.com/www/wp-login.php' not found or unable to stat
[Tue Mar 31 02:09:13 2015] [error] [client 198.252.44.11] File does not exist: /home/www/www.pixelark.com/www/player.vimeo.com
[Tue Mar 31 02:09:13 2015] [error] [client 198.252.44.11] File does not exist: /home/www/www.pixelark.com/www/player.vimeo.com
[Tue Mar 31 02:32:59 2015] [error] [client 188.165.233.228] File does not exist: /home/www/www.pixelark.com/www/calvarycch
[Tue Mar 31 02:34:29 2015] [error] [client 27.104.199.92] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon.png
[Tue Mar 31 02:37:19 2015] [error] [client 66.74.91.61] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon-precomposed.png
[Tue Mar 31 02:37:19 2015] [error] [client 66.74.91.61] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon.png
[Tue Mar 31 02:57:31 2015] [error] [client 173.184.225.8] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon.png
[Tue Mar 31 07:36:29 2015] [notice] caught SIGTERM, shutting down
[Tue Mar 31 07:36:29 2015] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Tue Mar 31 07:36:29 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 31 07:36:29 2015] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Tue Mar 31 07:36:29 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 31 07:36:29 2015] [notice] Digest: done
[Tue Mar 31 07:36:30 2015] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Tue Mar 31 07:36:30 2015] [notice] Apache/2.2.15 (Unix) DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Mar 31 07:44:21 2015] [error] [client 68.6.150.73] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon-120x120-precomposed.png
[Tue Mar 31 08:23:02 2015] [error] [client 172.56.0.75] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon-precomposed.png
[Tue Mar 31 08:23:02 2015] [error] [client 172.56.0.75] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon.png
[Tue Mar 31 08:45:35 2015] [error] [client 173.208.203.138] File does not exist: /home/www/www.pixelark.com/www/readme.asp
[Tue Mar 31 08:56:53 2015] [error] [client 184.176.137.140] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon-precomposed.png
[Tue Mar 31 08:56:53 2015] [error] [client 184.176.137.140] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon.png
[Tue Mar 31 09:05:13 2015] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Tue Mar 31 09:11:54 2015] [notice] caught SIGTERM, shutting down
[Tue Mar 31 09:11:55 2015] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Tue Mar 31 09:11:55 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 31 09:11:55 2015] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Tue Mar 31 09:11:55 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 31 09:11:55 2015] [notice] Digest: done
[Tue Mar 31 09:11:55 2015] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Tue Mar 31 09:11:55 2015] [notice] Apache/2.2.15 (Unix) DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Mar 31 09:17:13 2015] [notice] caught SIGTERM, shutting down
[Tue Mar 31 09:17:13 2015] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Tue Mar 31 09:17:13 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 31 09:17:14 2015] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Tue Mar 31 09:17:14 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 31 09:17:14 2015] [notice] Digest: done
[Tue Mar 31 09:17:14 2015] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Tue Mar 31 09:17:14 2015] [notice] Apache/2.2.15 (Unix) DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Mar 31 09:20:04 2015] [error] [client 107.143.147.89] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon-precomposed.png
[Tue Mar 31 09:20:05 2015] [error] [client 107.143.147.89] File does not exist: /home/www/www.pixelark.com/www/apple-touch-icon.png
[Tue Mar 31 09:23:15 2015] [notice] caught SIGTERM, shutting down
[Tue Mar 31 09:21:07 2015] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Tue Mar 31 09:21:07 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 31 09:21:08 2015] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Tue Mar 31 09:21:08 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 31 09:21:08 2015] [notice] Digest: done
[Tue Mar 31 09:21:09 2015] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Tue Mar 31 09:21:09 2015] [notice] Apache/2.2.15 (Unix) DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Mar 31 09:21:12 2015] [error] [client 119.74.155.16] File does not exist: /home/www/www.pixelark.com/www/cscc, referer: http://pixelark.com/cscc/recent/mobile/mobile
[Tue Mar 31 09:24:18 2015] [error] [client 119.74.155.16] PHP Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/www/www.pixelark.com/db.php on line 9
[Tue Mar 31 09:24:18 2015] [error] [client 119.74.155.16] PHP Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in /home/www/www.pixelark.com/db.php on line 10
[Tue Mar 31 09:24:18 2015] [error] [client 119.74.155.16] PHP Warning: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/www/www.pixelark.com/www/mobile_controller/index.php on line 23
[Tue Mar 31 09:24:18 2015] [error] [client 119.74.155.16] PHP Warning: mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: A link to the server could not be established in /home/www/www.pixelark.com/www/mobile_controller/index.php on line 23
[Tue Mar 31 09:24:18 2015] [error] [client 119.74.155.16] PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/www/www.pixelark.com/www/mobile_controller/index.php on line 29
Для отладки вам потребуется дополнительная информация, такая как количество клиентов, подключенных в данный момент, и какие страницы используются во время зависания.
Часто MaxClients достигаются только тогда, когда возникает ошибка на стороне приложения - клиенты запрашивают страницу, и приложению требуется много времени, чтобы ответить клиенту. По моему опыту, эта проблема возникает, когда ошибка возникает из-за недавнего изменения кода или когда код приложения зависит от базы данных или файловой системы, и эта база данных или файловая система работает медленно или недоступно и т. Д. Это редко является проблемой в Apache. сам. Есть много возможных причин на стороне приложения.
Если узким местом является файловая система или база данных, возможно, вы усугубили проблему, увеличив MaxClients с 256 до 512, потому что теперь у вас в два раза больше клиентов, подключающихся к проблемному ресурсу.
Чтобы лучше понять проблему с точки зрения Apache:
ExtendedStatus
, как рекомендовано в разделе Использование статуса сервера для устранения неполадок. По соображениям безопасности ограничьте доступ безопасным набором IP-адресов.service httpd fullstatus
(видеть https://www.liquidweb.com/kb/use-httpd-fullstatus-to-monitor-apache-status/ для примера). Вы также можете записать эту информацию в файл журнала с помощью такой команды, как service httpd fullstatus > /var/log/httpd.status.log
или service httpd fullstatus | logger -t httpd-status
, и поместите это в cron или войдите в журнал с помощью Cacti, Splunk или другой программы.Это должно предоставить вам гораздо больше информации о состоянии системы до момента зависания.