On Wed, 23 Jul 2003, Konstantin Morshnev wrote:
> Ситуация: [MC=1,MW=32,MP=P]. Медленный backend.
> При более чем одном одновременном запросе получаем 503 на "лишние" запросы.
>То
> есть запросы в очередь на ожидание освобождения backend не встают...
[...]
> (запросы не отваливаются с 503 а ждут освобождения backend и потом успешно
> отрабатываются), но вероятно это не совсем корректный патч...
MW учитывается только в случае, если ответ может быть в принципе кэшируем.
То есть, в данной реализации MW не может использоваться как средство
буферизации некэшируемых запросов. Это только средство ограничить число
запросов, ждущих обновления или получения кэшируемого ответа.
Буферизацию можно сделать двумя способами.
1. Сделать так, чтобы на этапе отправки запроса бэкенду он был в принципе
кэшируем, а в ответе выставлять, например, "X-Accel-Expires: 0".
Тогда MW будет учитываться.
2. Уменьшить число бэкендов и увеличить listen backlog в Апаче и ядре.
Поставить MC=32. В этом случае буфером будет ядерная listen queue.
Игорь Сысоев
http://sysoev.ru