Re: Persistent Connection Issue

From: Isaac Cheung <gr8developer@yahoo.com>
Date: Thu Apr 13 2006 - 16:22:56 MDT

Hi alex,
   
  I finally got persistent connections showing up after I specified http_versions = ["1.0"] under the definitions of the server and robot in the workload.
   
  Interestingly, when I specified http_versions=["1.1"] for both, persistent connections would never be established. Using tcpflow, i see that the robot sends out HTTP1.1 header with a "Proxy-Connection: close". And, the Server responded with a HTTP1.0 header with a "Proxy-Connection: close" (as expected.).
   
  So there are really 2 problems:
   
  1. Server was using HTTP1.0 even when it had been instructed to use 1.1.
  2. HTTP1.1 sent a "Proxy-Connection: close" in the header when persistent connection is enabled.
   
  Isaac
  
Alex Rousskov <rousskov@measurement-factory.com> wrote:
  On Fri, 2006-04-07 at 12:02 -0700, Isaac Cheung wrote:
> I have previously executed workload with polygraph 2.8.1 on Linux
> 2.4.21-40 having pconn_use_lmt set to zipf(16). But, I found out from
> the SQUID persistent conn utilitization histrograms that there were
> only 1req connections accepted meaning there were no persistent conn
> established.
>
> To validate the proxy setup, I further tested it with a connected
> browser and persistent connections were indeed established.
>
> With pconn_use_lmt set to zipf(16) and http_versions set to the
> default are there other parameters that I need to set in order to
> enable pconn?

I do not think so. There is also a related persistent connection timeout
parameter (idle_pconn_tout), but it is optional. I would do the
following:

1. Check that you are setting pconn_use_lmt on the right side(s). The
option is valid for Polygraph robots and servers.

2. Grab a few HTTP requests and responses (e.g., via tcpdump/show or
ethereal). Check whether Polygraph is _not_ sending "Connection: close"
HTTP header in the HTTP/1.1 request. Check that Squid is sending
"Connection: keep-alive" in the HTTP/1.0 response. If the HTTP versions
or message headers differ from the expected ones, we may be able to find
the culprit.

> Or are there other conditions that will cause persistent connections
> not to be used?

On Polygraph side, errors and similar abnormal conditions close a
persistent connection. The server (including Squid) can signal
connection close by sending "Connection: close" in an HTTP/1.1 response
or sending nothing in an HTTP/1.0 response. On Squid side, there may be
many other factors (e.g., load).

Sorry for the delayed response. Please keep me posted on your progress.

Thank you,

Alex.

                
---------------------------------
New Yahoo! Messenger with Voice. Call regular phones from your PC and save big.
Received on Thu Apr 13 17:49:46 2006

This archive was generated by hypermail 2.1.8 : Fri Apr 14 2006 - 12:00:45 MDT