- •Запуск и остановка Apache
- •Директивы конфигурации web-сервера Apache. Контексты использования директив конфигурации
- •Контейнерные директивы Apache
- •Условная конфигурация
- •Использование динамических модулей
- •Ограничительные директивы Apache
- •Директива Options
- •Основные директивы конфигурации Apache
- •Директивы производительности Apache
- •Управление процессами
- •Управление потоками
- •Директивы для управления процессами и потоками
- •Постоянные соединения
- •Псевдонимы
- •Конфигурация типа содержимого Языки файлов
- •Типы файлов
- •Обработчики
- •Наборы символов
- •Активизация механизма cgi
- •Активизация механизма ssi
- •Переадресация
- •Аутентификация
- •Алгоритм аутентификации:
- •Управление доступом
- •Виртуальный хостинг
- •Обработка ошибок
- •Протокол ssl
Директивы производительности Apache
Данные директивы позволяют настроить для того, чтобы добиться наиболее высокой производительности и управления использованием ресурсов.
Управление процессами
Директивы MinSpareServers и MaxSpareServers регулируют размером пула серверов. Сервер Apache динамически приспосабливается к загрузке, то есть он пытается поддерживать достаточное число серверных процессов, чтобы справиться с текущей нагрузкой, а также несколько запасных серверов, чтобы справиться с пиками нагрузки (например, с несколькими одновременными запросами). Он выполняет это, периодически проверяя, сколько серверов ждут поступления запроса. Если их меньше, чем MinSpareServers, он создает новый резервный серверный процесс. Если их больше, чем MахSpareServers, некоторые резервные серверные процессы аннулируются.
MaxSpareServers 20 – устанавливает максимальное количество свободных дочерних процессов Apache, которые должны быть запущены в любой момент времени. Если количество свободных дочерних процессов превышает максимальное, то родительский процесс удаляет все лишние процессы.
MinSpareServers 5 – устанавливает минимальное количество свободных дочерних процессов Apache, которые должны быть запущены в любой момент времени. Если количество свободных дочерних процессов меньше минимального, то Apache создает новые процессы с частотой 1 процесс в секунду.
MaxRequestsPerChild 1000 – устанавливает количество запросов, которые может обслужить дочерний процесс до прекращения своего существования. После этого дочерний процесс должен завершиться, чтобы избежать проблем, возникающих при его продолжительной работе.
NumServers 2 – устанавливает количество одновременно создаваемых процессов Apache.
Управление потоками
StartThreads 5 – устанавливает начальное количество потоков на процесс.
MaxSpareThreads 10 – устанавливает максимальное количество свободных потоков:
1) потоковый МРМ – если число свободных потоков становится больше, чем указано в данной директиве, то Apache уничтожает дочерние процессы до тех пор, пока не будет достигнуто нужное значение; 2) МРМ с фиксированным числом дочерних процессов – если дочерний процесс содержит больше потоков, чем указано в данной директиве, то сервер уничтожает потоки внури дочернего процесса.
MinSpareThreads 5 – устанавливает минимальное количество свободных потоков:
1) потоковый МРМ – если число свободных потоков становится меньшим, чем указано в данной директиве, то Apache создает новые дочерние процессы до тех пор, пока не будет достигнуто нужное значение; 2) МРМ с фиксированным числом дочерних процессов – если дочерний процесс содержит меньше потоков, чем указано в данной директиве, то сервер создает новые потоки внури дочернего процесса.
ThreadsPerChild 50 – сообщает серверу, сколько потоков он должен использовать.
MaxThreadsPerChild 64 – устанавливает максимальное количество потоков для дочернего процесса.
Директивы для управления процессами и потоками
StartServers 8 - определяет число дочерних процессов Apache, которые создаются при первоначальном его запуске. Количество процессов, необходимое в определенный момент времени, изменяется динамически.
MaxClients 150 – задает предел числа одновременно работающих серверов, то есть предел числа клиентов, которые могут подключаться одновременно. После достижения этого предела клиенты будут заблокированы, поэтому значение данного параметра не должно быть слишком низким. Он должен служить в качестве страховки, чтобы сервер, вышедший из-под контроля, в своем падении не увлек за собой систему.
ListenBacklog 511 – устанавливает максимальную длину очереди запросов.
