Мой сервер FreeBSD отлично работал более 2 лет без каких-либо серьезных изменений в системе. Недавно я установил SSL-сертификат с помощью Apache mod_ssl, и после 10 дней нормальной работы сервер внезапно начал давать сбой.
Когда сервер падает:
Через 15-60 минут недоступности:
Что проверил:
В httpd-error.log я обнаружил:
[notice] Digest: generating secret for digest authentication ...
[notice] Digest: done
[notice] Apache/2.2.23 (FreeBSD) mod_ssl/2.2.23 OpenSSL/0.9.8q DAV/2 configured -- resuming normal operations
[error] server reached MaxClients setting, consider raising the MaxClients setting
Я попытался включить KeepAlive и существенно (в 4 раза) увеличить размер MaxClients, но это не решило проблему:
Timeout 120
KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 1000
<IfModule mpm_prefork_module>
StartServers 50
MinSpareServers 128
MaxSpareServers 1024
ServerLimit 1024
MaxClients 1024
MaxRequestsPerChild 1000
</IfModule>
В / var / log / messages незадолго до первого обнаруженного сбоя:
kernel: mfi0: 228755 (454057919s/0x0008/FATAL) - Battery needs replacement - SOH Bad
kernel: mfi0: 228756 (454057984s/0x0008/FATAL) - Battery needs replacement - SOH Bad
kernel: mfi0: 228757 (454058049s/0x0008/FATAL) - Battery needs replacement - SOH Bad
kernel: arp: 176.31.237.254 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
kernel: arp: 176.31.237.251 moved from 00:25:90:02:08:fc to 00:07:b4:00:00:01 on ix0
kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
kernel: mfi0: 228758 (454058114s/0x0008/FATAL) - Battery needs replacement - SOH Bad
kernel: mfi0: 228759 (454058179s/0x0008/FATAL) - Battery needs replacement - SOH Bad
Предупреждение «Батарея требует замены» исчезло после первого перезапуска, но сообщение arp продолжает появляться в журналах примерно с тем же интервалом, когда происходит сбой сервера:
May 23 05:00:00 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:03 to 00:07:b4:00:00:01 on ix0
May 23 05:00:02 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:01 to 00:25:90:02:08:fc on ix0
May 23 05:20:00 ns228407 kernel: arp: 176.31.237.251 moved from 00:25:90:02:08:fc to 00:07:b4:00:00:01 on ix0
May 23 05:20:00 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
May 23 05:32:44 ns228407 kernel: arp: 176.31.237.254 moved from 00:07:b4:00:00:03 to 00:07:b4:00:00:01 on ix0
May 23 05:40:01 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:03 to 00:25:90:02:08:fc on ix0
May 23 05:40:01 ns228407 kernel: arp: 176.31.237.251 moved from 00:25:90:02:08:fc to 00:07:b4:00:00:01 on ix0
May 23 05:40:01 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
May 23 05:52:40 ns228407 kernel: arp: 176.31.237.254 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
May 23 06:00:00 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:03 to 00:25:90:02:08:fc on ix0
May 23 06:00:00 ns228407 kernel: arp: 176.31.237.251 moved from 00:25:90:02:08:fc to 00:07:b4:00:00:01 on ix0
May 23 06:00:00 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
May 23 06:00:02 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:03 to 00:25:90:02:08:fc on ix0
May 23 06:20:01 ns228407 kernel: arp: 176.31.237.251 moved from 00:25:90:02:08:fc to 00:07:b4:00:00:03 on ix0
May 23 06:20:01 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:03 to 00:07:b4:00:00:01 on ix0
May 23 06:30:02 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:01 to 00:25:90:02:08:fc on ix0
May 23 06:32:36 ns228407 kernel: arp: 176.31.237.254 moved from 00:07:b4:00:00:03 to 00:07:b4:00:00:01 on ix0
May 23 06:50:01 ns228407 kernel: arp: 176.31.237.251 moved from 00:25:90:02:08:fc to 00:07:b4:00:00:01 on ix0
May 23 06:50:01 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
May 23 07:00:02 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:03 to 00:25:90:02:08:fc on ix0
May 23 07:12:28 ns228407 kernel: arp: 176.31.237.254 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
May 23 07:20:00 ns228407 kernel: arp: 176.31.237.251 moved from 00:25:90:02:08:fc to 00:07:b4:00:00:01 on ix0
May 23 07:20:00 ns228407 kernel: arp: 176.31.237.251 moved from 00:07:b4:00:00:01 to 00:07:b4:00:00:03 on ix0
Что мне делать дальше, чтобы найти и решить проблему?
Последнее, что вам нужно сделать сейчас, это увеличить MaxClients.
Сложно сказать. Предупреждения о замедлении и MaxClients предполагают, что у вас слишком большой спрос, с которым сервер не может справиться. Если вы не запускаете на сервере много файлов AJAX / COMET, вам действительно следует уменьшить тайм-аут поддержки активности (скажем, до 2 изначально).
«Батарея требует замены» - это не просто напоминание о необходимости обслуживания - на BBWC это означает, что контроллер больше не пытается кэшировать записи - и если ваша система настроена правильно, ваша ОС и диски не будут кэшировать записи либо.
Оба указывают на то, что производительность вашей системы должна быть ужасно плохой - но первое, о чем вы сообщаете, это то, что она оказывается недоступной - на самом деле вы не упоминаете о производительности - знание того, как измерить производительность и сбор данных, должно быть в вашей повестке дня. .
Я не уверен, почему адрес продолжает перемещаться (я предполагаю, что это локальные интерфейсы) - это может быть следствием загрузки в другом месте.
Это один больной щенок, и вам придется начинать исправлять одну вещь за раз, пока вы не получите более четкое представление о том, что идет не так.
Начните с переключения батареи, настройки параметров установки Apache и регистрации показателей производительности.