Apache2 — настройка на хостинге.

Навесили на меня на работе администрирование хостинга. Конфигурация стандарт, . Сижу я значит, штудирую ООП в PHP и тут мне сообщают, что сервак подвис. Вообще задача администрирования — это задача системного администратора, а я программист. Это совсем разные профессии. Так же я всегда говорю — я не дизайнер.

Дальнейшие данные настроек с моего тестового сервера и ни в коем случае не относятся к реальной работе.

Ну что ж. Допустим создает слишком много процессов, сжирает всю память и виснет.
Для избежания этого нужно поправить конфиг Apache, а именно значения для модулей prefork, work, event.

Для Prefork выставил

ServerLimit ставим по формуле ram/RSS. Средний RSS (Resident State Size) чайдлов можно прикинуть командой

Покажется полный список процессов и два размера — виртуальный (VSZ) и фактический (RSS). Получается, если средний RSS где то 15М, то 256M/15M=17

В моем случае

Исходить решил не из общей памяти, а из свободной на сервере, у меня вышло примерно 15-17.
Далее интересны еще настройки KeepAlive. Это нужно выставить On в конфиге, чтобы удерживалось соединение.

Для php.ini важный момент memory_. Если он равен -1 то память для скрипта не ограничена, на разных хостах он стоит от 32 до 64мб, я поставил 100.

И еще нужно установить очень важный модуль против ДДос атак mod_evasive.

Установка из портов

Или

Добавить настройки в конфиг апача.

После чего перезапустим Апач

  • Приведенные выше настройки подойдут все же для не большого хостинга, т.к. сильно ограничивают ресурсы выделяемые на процесс Апача.
    В итоге были установлены намного большие значения параметров, это при 4-х ядерном процессоре и 4 гб рам.