Как медленные запросы блокируют apache в режиме prefork?

В процессе изучения настройки сервера возникло несколько вопросов.


Правильно ли я понимаю, что если apache работает в режиме prefork, и MaxClients=2 то…


1. Если 2 посетителя с медленным подключением к интернету одновременно обращаются к серверу, то третий клиент — останется ждать, пока не завершится одно из медленных подключений?

2. Nginx как прокси после апача — исправит это и третьему клиенту не нужно будет ждать?

3. Если я правильно понял пункт2, то как изменится ситуация, когда 2 медленных клиента не получают, а отсылают информацию на сервер через POST? Третий клиент опять будет вынужден ждать, даже если есть Nginx?


MaxClients=2 — это просто для наглядности.
  • Вопрос задан
  • 3450 просмотров
Пригласить эксперта
Ответы на вопрос 2
truekenny
@truekenny
Nginx ждёт полный запрос, после этого сразу отправляет его на Apache, затем получает ответ и передаёт уже пользователю.
Ответ написан
Комментировать
@WebPlayer
1. Будут ждать или Apache ругнется 5ХХ ошибкой. Страницу этой ошибки можно кастомизировать — «Подождите. Большая нагрузка на сервер.»
2. Nginx может сам отдать статические файлы(картинки, css, js..), не проксируя их apаch'у. Но генерацию страниц будет обрабатывать apache.
Логика такая: nginx настраивается как front-end сервер перед apache для быстрой отдачи статики(картинки, css, js). За nginx ставят apache как back-end сервер для генирации страниц и обработки входных параметров.
3. Будет ждать.
Делаем nginx как front-end к apache
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы