ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

apache

 

3363
Влад @4ih-pqh
как увеличить число соединений на домашнем серваке с 250 на скажем 1000, и ограничить на юзверя до 100....натыкался на данную фичу, но теперь когда надо, никак не могу найти, есть просто подозрение что удалил как то строку...

7094
Dim @Render
4ih-pqh пишет:

как увеличить число соединений на домашнем серваке с 250 на скажем 1000, и ограничить на юзверя до 100....натыкался на данную фичу, но теперь когда надо, никак не могу найти, есть просто подозрение что удалил как то строку...

# TimeOut: The number of seconds before receives and sends time out.
TimeOut 300

# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
KeepAlive On

# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
MaxKeepAliveRequests 100

# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
KeepAliveTimeout 15

## Server-Pool Size Regulation (MPM specific)

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 10000
</IfModule>

TimeOut 300 (по умолчанию)

Время ожидания (в секундах), прежде чем попытки приема или отправления выдают сообщение о тайм-ауте.


KeepAlive On (по умолчанию)

Допускаются ли персистентные соединения. Для запрета укажите Off.

Персистентное соединение (persistent connection, keep-alive) - тип виртуального соединения между сервером и клиентом, при котором сервер может обслуживать более одного запроса от одного и того же клиента в рамках одного и того же соединения, т.е. которое не завершается сразу, как только сервер обслужил тот первый запрос клиента, ради которого данное соединение было установлено, а ждет поступления дальнейших запросов по тому же каналу.


MaxKeepAliveRequests 100 (по умолчанию)

Максимальное количество запросов при одном персистентном соединении.

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


KeepAliveTimeout 15 (по умолчанию)

Время ожидания (в секундах) следующего запроса от того же клиента в рамках одного персистентного соединения.


StartServers 5 (по умолчанию)

Директива StartServers устанавливает число дочерних процессов, созданных при запуске сервера.
Поскольку число процессов динамически меняется в зависимости от нагрузки, то обычно нет необходимости настраивать этот параметр.


MinSpareServers 5 (по умолчанию)

Директива MinSpareServers устанавливает желательное минимальное число неиспользуемых* дочерних процессов сервера.
Если свободных процессов меньше, чем значение MinSpareServers, то родительский процесс создает новые дочерние процессы с максимальной частотой по 1 в секунду.

Настройка этого параметра необходима только на очень загруженных сайтах.
Увеличение этого параметра к большому числу - почти всегда плохая идея!


MaxSpareServers 10 (по умолчанию)

Директива MaxSpareServers устанавливает желательное максимальное число неиспользуемых* дочерних процессов сервера.

Если есть больше чем MaxSpareServers неиспользуемых процессов, то родительский процесс убьет лишние.

Настройка этого параметра необходима только на очень загруженных сайтах. Увеличение этого параметра к большому числу - почти всегда плохая идея!
Если попытаться установить значение ниже, чем MinSpareServers, то Apache автоматически присвоит это к MinSpareServers + 1.


ServerLimit

Для prefork MPM эта директива устанавливает максимальное значение MaxClients на протяжении всей жизни процесса сервера Apache.

Используя эту директиву будте особенно осторожны!
Если значение ServerLimit установить намного выше необходимого, то свободная совместно используемая память будет занята (ассигнована, allocated).
Если ServerLimit и MaxClients установить выше, чем система может обрабатывать, то Apache может не запустится или система станет нестабильной.

Используйте эту директиву с prefork MPM, только если Вы хотите установить MaxClients выше чем 256 (default).
Не устанавливайте значение этой директивы ни на сколько выше чем значение, установленное в MaxClients.

У ServerLimit предельное значение 20000, даже, если указать больше (для избежания нежелательных эффектов, вызванных опечатками).


MaxClients

Это самый важный параметр prefork MPM, задающий максимальное число дочерних процессов, которым разрешено запустится (которые будут созданы для обработки запросов).

Значение выставляется большим, чтобы обрабатывать одновременно много запросов, а меньшим для снижения потребления памяти!

Сколько Вы укажите в этой диррективе, столько и будет у Вас процессов вставать в очередь на выполнение.


MaxRequestsPerChild 10000 (по умолчанию)

Управляет, как часто сервер перерабатывает процессы, убивая старые и начиная (запуская) новые, т.е здесь указывается число запросов, которое позволено обрабатывать дочернему процессу до переполнения.

Эта дирректива полезна для того, чтобы избежать проблем при длительной непрерывной работе, если Apache (или используемые им библиотеки), допускают утечку памяти или других ресурсов, так как при переполнении дочерний процесс будет принудительно завершен.
На большинстве систем это не требуется, но некоторые страдают заметными утечками в библиотеках.
Установка значения в 0 снимает ограничения.

Для запросов KeepAlive, только первый запрос подсчывается к пределу MaxRequestsPerChild. В действительности, это меняет действие ограничения числа связей с дочерним процессом.

3363
Влад @4ih-pqh
вот именно что они
ServerLimit 256
MaxClients 256

не работают ((

7094
Dim @Render
4ih-pqh пишет:

вот именно что они
ServerLimit 256
MaxClients 256

не работают ((

Винда? prefork или worker используется?

3363
Влад @4ih-pqh
Render пишет:

4ih-pqh пишет:

вот именно что они
ServerLimit 256
MaxClients 256

не работают ((

Винда? prefork или worker используется?

попозже проверю и отпишусь...спасибо....

3363
Влад @4ih-pqh
даже так на вскидку выставил
<IfModule worker.c>
StartServers 5
MaxClients 1000
ServerLimit 10000
MinSpareThreads 2560
MaxSpareThreads 5120
ThreadsPerChild 5000
MaxRequestsPerChild 10000
</IfModule>

и всё равно не более 260 соединений выдерживает

в оригинале конечно значения были другими, это для теста