Здравствуйте.
У нас наблюдается аналогичная проблема: сервер биллинга время от времени спонтанно перезагружается без видимых причин. Иногда он перезагружается по три раза в день, а иногда - неделями работает стабильно, хотя загрузка практически не меняется.
Intel(R) Xeon(R) CPU E5405, RAM 2586756 kB;
ОС: Gentoo Linux, 2.6.34-gentoo-r6 #4 SMP;
MySQL 5.1.50;
UTM 5.2.1-008-update8-gentoo Rev #12164 Compile date: Jan 23 2012 10:19:24.
На машине работают utm5_core, utm5_rfw и utm5_radius. База данных размещена в MySQL. Обслуживается чуть более полутора тысяч пользователей. utm5_rfw передают команды на роутер Mikrotik, который осуществляет шейпирование, контроль скорости, её изменение по времени суток. Пролистывая форум, находил ошибки dummynet и ipnat, но они не относятся к нашей ситуации.
Перечислю варианты, которые мы рассматривали.
Железо. Изначально использовался другой сервер, куда более слабый и работавший на Fedora Core. Именно на нём начались спонтанные перезагрузки. Решили его сменить и установили совершенно новую машину; но и на ней перезагрузки продолжались.
Замеряем температуру на процессоре и памяти; она никогда не превышает 65 и 50 градусов соответственно, даже при прогоне бенчмарков, какие мы делали с помощью утилиты stress. Эти бенчмарки также никогда не вызывали рестарта сервера.
Добавлю, что в серверной установлен кондиционер, поддерживающий температуру на уровне 18 градусов. В той же стойке стоят и другие наши сервера, которые никогда не обнаруживали склонностей к перезагрузкам.
Недостаток мощности CPU исключается, поскольку на графиках загрузки CPU, которые непрерывно снимаются посредством Zabbix, его загрузка не превышает 10%. Опять же, бенчмарки CPU, загружавшие его до 100% при запущенном ядре биллинга, не приводили к ребутам.
Недостаток памяти тоже маловероятен. Ядро требует в среднем 150-200 мб; большая часть памяти занята под файловый кэш операционной системы, который, насколько мы можем судить, сбрасывается по первому требованию и не может быть причиной проблем.
Перегрузка сервера СУБД. В среднем, MySQL получает около 30 запросов в секунду, что не так много. Мы пробовали загружать его бенчмарками, доводили до полутысячи запросов в секунду, что не приводило ни к чему, кроме подтормаживания работы биллинга.
Перегрузка web-сервера. Раньше личный кабинет и серверная часть UTM Tray (мы используем наработки от Kayfolom, хоть и несколько модифицированные) обслуживались Apache. С некоторого времени этим занимаются nginx в паре с php-fpm. Бенчмарки посредством apachebench ничего не дали; сервер работает при нагрузке, в сотни раз превышающей нормальную.
Одно время нам казалось, что причина найдена. Каждую ночь в три часа мы делали резервную копию базы UTM посредством mysqldump, и часто ребуты случались именно в три-четыре часа ночи. Отсюда были подозрения на то, что виновен MySQL.
Теперь мы давно уже используем для бэкапа утилиту xtrabackup. Она при бэкапе почти не нагружает сервер. Ребуты в 3-4 часа практически прекратились, но продолжаются в любое время, не поддающееся систематизации. Глухой ночью, в полдень, вечером - когда угодно.
Буду рад получить какие-нибудь советы и пинки - в какую сторону копать.