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

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

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

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

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

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

заранее спасибо, Дэвид Джонс


person David Jones    schedule 17.08.2010    source источник
comment
на какой платформе вы используете Apache2?   -  person Fosco    schedule 18.08.2010
comment
Вы проверили модуль mod_limitipconn? - dominia.org/djao/limitipconn2.html   -  person Adam    schedule 18.08.2010
comment
определенно странное поведение, которое вы видите, поскольку обычно этого не происходит. вы ничего не делали с конфигом?   -  person NG.    schedule 18.08.2010
comment
Проблема, которая была у исходного постера, была связана вовсе не с apache, а с сессиями PHP. Тем не менее, я предлагаю не изменять заголовок и пост, потому что у других читателей может возникнуть такое же непонимание, и это поможет им найти правильный ответ.   -  person cornergraf    schedule 13.08.2014
comment
Согласен с @cornergraf о сохранении титула. Я нашел этот пост, потому что искал Apache и теперь знаю, что это проблема PHP.   -  person user1941747    schedule 19.01.2020


Ответы (1)


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

Одновременные запросы к скрипту PHP

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

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

-- Дэвид Джонс

person David Jones    schedule 19.08.2010
comment
Спасибо за этот вопрос и ответ - это мне очень помогло. Кстати, я убедился, что сеансы на основе файлов являются причиной проблемы, протестировав первые 2 вкладки в одном браузере (общий сеанс), а затем 1 вкладку в 2 разных браузерах (разные сеансы). - person Tom; 31.10.2013