How do I configure Apache2 to allow multiple simultaneous connections from same IP address?
Asked Answered
B

1

25

By default, Apache2 seems to allow only 1 connection per IP address.

How do I configure Apache2 to allow multiple simultaneous connections from the same IP address?

Here is my situation:

  1. a web app being hosted on a server.
  2. a remote client makes an request that may take 15 seconds to complete.
  3. the same remote client makes another (independent) request.
  4. at present, the 2nd request sits in a queue until the 1st request completes, since Apache2 seems to impose a limit of 1 connection per IP address.

How do I override this default behaviour and allow the 2nd request to be processed in parallel?

thanks in advance, David Jones

Background answered 17/8, 2010 at 20:17 Comment(5)
what platform are you running Apache2 on?Variate
Have you checked out mod_limitipconn module? - dominia.org/djao/limitipconn2.htmlWichern
definitely weird behavior you're seeing since this doesn't normally happen. did you do anything odd with the config?Cuda
The problem that the original poster had was not related to apache at all, but PHP sessions. Nevertheless, I suggest that the title and post not be modified, because other readers might have the same misunderstanding and this helps them find the right answer.Boden
Agree with @Boden on keeping the title. I found this post because I was searching for Apache and now know its a PHP issue.Bede
B
43

I discovered the answer to my problem. It turns out others have encountered this difficulty before:

Simultaneous Requests to PHP Script

The key detail is that file-based sessions in PHP cause all requests from the same client to be processed sequentially in a queue, rather than in parallel.

In order to solve this problem, it is necessary to make a call to session_write_close() in every PHP script as soon as session handling is finished.

-- David Jones

Background answered 19/8, 2010 at 21:47 Comment(2)
Thanks for this question and answer - it helped me alot. BTW - I verified the file-based sessions are the cause of the problem by testing first 2 tabs in the same browser (shared session), then with 1 tab in 2 different browsers (different sessions).Rosati
I searched the whole internet for this today! Thanks David! After some testing it seems you can call session_write_close() in any single request you know is going to take some time and this will open up the server for subsequent requests from the same connection. The 1st request cannot write to the session afterwards but subsequent requests can!Shotgun

© 2022 - 2024 — McMap. All rights reserved.