Как медленные запросы блокируют apache в режиме prefork?
В процессе изучения настройки сервера возникло несколько вопросов.
Правильно ли я понимаю, что если apache работает в режиме prefork, и MaxClients=2 то…
1. Если 2 посетителя с медленным подключением к интернету одновременно обращаются к серверу, то третий клиент — останется ждать, пока не завершится одно из медленных подключений?
2. Nginx как прокси после апача — исправит это и третьему клиенту не нужно будет ждать?
3. Если я правильно понял пункт2, то как изменится ситуация, когда 2 медленных клиента не получают, а отсылают информацию на сервер через POST? Третий клиент опять будет вынужден ждать, даже если есть Nginx?
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