2010-08-17 5 views
18

По умолчанию Apache2, по-видимому, разрешает только 1 подключение на каждый IP-адрес.Как настроить Apache2, чтобы разрешить несколько одновременных подключений с одного и того же IP-адреса?

Как настроить Apache2 для разрешения нескольких одновременных подключений с одного и того же IP-адреса?

Вот моя ситуация:

  1. веб-приложение, которые размещены на сервере.
  2. удаленный клиент делает запрос, который может занять 15 секунд.
  3. тот же удаленный клиент выполняет другой (независимый) запрос.
  4. В настоящее время второй запрос находится в очереди до тех пор, пока первый запрос не завершится, , поскольку Apache2, как представляется, налагает ограничение на 1 соединение на каждый IP-адрес.

Как переопределить это поведение по умолчанию и разрешить параллельную обработку второго запроса?

заранее спасибо, David Jones

+0

На какой платформе вы работаете Apache2? – Fosco

+0

Вы проверили модуль mod_limitipconn? - http://dominia.org/djao/limitipconn2.html – Adam

+0

определенно странное поведение, которое вы видите, поскольку это обычно не происходит. вы делали что-то странное с конфигурацией? –

ответ

30

я обнаружил ответ на мою проблему. Оказывается, другие столкнулись с этой трудностью перед:

Simultaneous Requests to PHP Script

Ключевой деталь, что на основе файлы сессии в PHP вызвать все запросы от одного клиента обрабатываются последовательно в очереди, а не параллельно.

Для решения этой проблемы необходимо выполнить вызов session_write_close() в каждом скрипте PHP, как только обработка сеанса будет завершена.

- David Jones

+1

Спасибо за этот вопрос и ответ - это очень помогло мне. BTW. Я проверял, что сеансы, основанные на файлах, являются причиной проблемы путем тестирования первых двух вкладок в одном браузере (общий сеанс), а затем с 1 вкладкой в ​​2 разных браузерах (разные сеансы). – Tom