http Keepalive question

Unanswered Question
May 27th, 2008

Is there any way to tune the http keepalives on the ACE appliance? This is how we configured our web servers to talk to our old loadbalancer.

Apache config snippit:

httpd.conf:KeepAlive On

httpd.conf:MaxKeepAliveRequests 300

httpd.conf:KeepAliveTimeout 15

Thoughts?

-Geoff

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
Gilles Dufour Wed, 05/28/2008 - 00:30

No need to turn on the keepalive on the loadbalancer. The backend server keepalives will go through the loadbalancer to the client and that's enough.

Gilles.

gkuchera Wed, 05/28/2008 - 04:45

Do I need to setup any timers? I think what might be happening is the apache server is timing out connections before the load balancer and the load balancer still tries to use the already closed connection.

Any thoughts?

_Geoff

The ACE's in question were recently installed to replace BigIP5000's which had an option turned on called OneConnect, which I think is similar to server reuse. I remember we have to tune some timers on the BigIP's for tcp timeouts, etc...

Gilles Dufour Wed, 05/28/2008 - 10:40

Geoff,

I would suggest some troubleshooting to figure out what is going out exactly.

Can you get a sniffer trace of frontend and backend traffic when having the issue ?

What kind of problem do you get ?

Did you configure tcp reuse on the ace appliance or not ?

Could you share your config ?

Gilles.

gkuchera Thu, 05/29/2008 - 11:16

Ok this is what we have figured out so far:

Our Systems folks upgraded our web servers and in the process lost some of our initial configuration options. Here are the important options in Apache and what they do:

Timeout: 300 This is how long apache will wait for a response before it times out a session.

Keepalives: On This allows for multiple requests across the same session to the servers ala HTTP/1.1

MaxKeepaliveRequests: 0 This is the number of requests the server will allow across the same pipe before it closes the connection. 0 means no limit.

KeepAliveTimeout: 15 This is the amount of time the Apache server will wait after the last request for another request before closing the session.

The values shown above are what we ended up with after some experimentation. What we had before was Timeout 300/Max Requests 100/Idle timeout: 150. So what was happening was that when you connect to our web site you download 40-50 objects on the front page, the session stays open if you didn't spend 150 seconds on the first page, then when you go to the subsequent pages you eventually hit the 100 request limit when the server summarily closes the connection and the client just hangs with a partial page load.

Anyway the tuning vairable above have fixed alot of our issues..

-Geoff

Actions

This Discussion