All,
I'm trying to put together a short script to test a Keep-Alive
connection:
##### CODE BEGINS #####
#!env perl -w
use strict;
use LWP::UserAgent;
use LWP::ConnCache;
my $browser = LWP::UserAgent->new(conn_cache => 1);
$browser->conn_cache(LWP::ConnCache->new());
my @lines = ("mind is a terrible thing to waste\n") x 10;
my $start = time;
my $url = 'http://yourhost/yourpath';
my $count = 0;
foreach (@lines) {
my $response = $browser->post( $url,
[ 'pos' => $count,
'block' => $_,
],
'Content_Type' => 'form-data',
);
$count += length $_;
}
print time() - $start;
print " secs\n";
##### CODE ENDS #####
I noticed that when the request is made the HTTP headers don't
include "Connection: Keep-Alive". It does include "Connection: TE".
Reading the UserAgent.pm source code I noticed that the connection
cache is stored in $self->{conn_cache} but that value is never used
in the module. May be is used by reference in other places by
passing $self.
The point is that the client is opening connections for every request.
/amn
|