Назад | Перейти на главную страницу

Как часто следует перезапускать Apache и MySQL?

Как часто следует перезапускать Apache и MySQL (в частности, при 150 000 обращений в неделю) и каковы будут реальные преимущества перезапуска каждый определенный раз?

Если ваша система правильно настроена и у вашего приложения нет проблем, таких как утечки памяти, вам нужно только перезапустить их, чтобы применить исправления.

Сами по себе Apache и MySQL не должны иметь утечек памяти. Большинство серверов баз данных работают лучше, чем дольше они работают. Однако модули, которые компилируются в Apache, такие как PHP, часто имеют утечки памяти.

В Модуль Apache mpm автоматически перезапускает процессы после 10 000 запросов. Вы можете изменить MaxRequestsPerChild к чему-то другому, но 10 000 - разумное значение по умолчанию.

Apache не требует регулярного перезапуска; и MySQL не должен.

Apache, работающий в режиме prefork, может повторно использовать свои дочерние процессы с помощью MaxRequestsPerChild; это хорошо, так как защищает от медленных утечек памяти и т. д.

MySQL не следует перезапускать регулярно, так как его перезапуск вызовет отключение службы. При перезапуске MySQL необходимо дождаться запуска двигателей, а также очистить кеш, что приведет к снижению производительности, пока он не нагреется. Кажется, мы обнаруживаем, что время от времени требуется перезапуск.[1] из-за фрагментации адресного пространства, но это не должно происходить так часто в 64-битной системе, на которую всегда должны выполняться новые установки.

[1] например каждые 9 месяцев на загруженном сервере, в среднем> 100 запросов в секунду

По возможности следует избегать перезапуска MySQL из соображений производительности. MySQL использует много памяти для кэширования страниц данных и индексов. Когда вы перезапускаете MySQL, все кешированные страницы освобождаются, и вам нужно время, чтобы Разогрев тайники. На сильно загруженных сайтах перезапуск базы данных может вызвать проблемы с производительностью.

Ваш сайт не сильно загружен (150 тыс. Обращений в неделю дает только 1 запрос / 4 с), поэтому перезапуск MySQL не должен вызывать больших проблем.

Чтобы понять, когда необходимо перезагрузить систему или службу, сначала нужно понять, почему. Утечки памяти являются наиболее распространенной причиной, но могут быть и другие, например, плохо написанное программное обеспечение (слишком часто!), Которое не выполняет надлежащего внутреннего обслуживания, например закрытие дескрипторов файлов, когда они больше не требуются. Хотя это не то же самое, что утечка памяти, симптомы те же. Как Apache, так и MySQL, как известно, очень стабильны (если вы не используете альфа- или бета-версию) и могут работать в течение многих лет без проблем. Обычно операционная система требует перезагрузки для применения исправлений задолго до того, как это потребуется любому приложению.