I have verified that the issue exists with linux/amd64, perl 5.20.2, LWP/LWP::UserAgent 6.13 and HTTP::Request/HTTP::Request::Common 6.11. It only affects some sites, and it would appear google is unaffected now, but it does affect various other sites I care about.
(ubuntu_15_10)root@chroot:/home/ski# for h in www.fastly.com www.thinkgeek.com www.google.com www.facebook.com www.cnn.com ; do perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }' & sleep 2 ; ps auxww | grep LWP::UserAgent | grep -v grep | awk '{ print "before, host: $h, VSZ: " $5 ", RSS: " $6 }' ; sleep 15 ; ps auxww | grep LWP::UserAgent | grep -v grep | awk '{ print "after, host: $h, VSZ: " $5 ", RSS: " $6 }' ; kill %1 ; sleep 1 ; done
[1] 5116
before, host: $h, VSZ: 74852, RSS: 25712
after, host: $h, VSZ: 75504, RSS: 26400
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
[1] 5129
before, host: $h, VSZ: 70724, RSS: 23504
after, host: $h, VSZ: 70728, RSS: 23888
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
[1] 5141
before, host: $h, VSZ: 70708, RSS: 23752
after, host: $h, VSZ: 70708, RSS: 23752
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
[1] 5154
before, host: $h, VSZ: 74820, RSS: 25796
after, host: $h, VSZ: 74820, RSS: 25852
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
[1] 5166
before, host: $h, VSZ: 59484, RSS: 20500
after, host: $h, VSZ: 60008, RSS: 21140
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
With perl 5.18.2, LWP/LWP::UserAgent 6.05, HTTP::Request 6.00 and HTTP::Request::Common 6.04:
ski@ubuntu14.04:~$ for h in www.fastly.com www.thinkgeek.com www.google.com www.facebook.com www.cnn.com ; do perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }' & sleep 2 ; ps auxww | grep LWP::UserAgent | grep -v grep | awk '{ print "before, host: $h, VSZ: " $5 ", RSS: " $6 }' ; sleep 15 ; ps auxww | grep LWP::UserAgent | grep -v grep | awk '{ print "after, host: $h, VSZ: " $5 ", RSS: " $6 }' ; kill %1 ; sleep 1 ; done
[1] 5187
before, host: $h, VSZ: 79544, RSS: 21908
after, host: $h, VSZ: 79868, RSS: 22256
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
[1] 5199
before, host: $h, VSZ: 79528, RSS: 21780
after, host: $h, VSZ: 79544, RSS: 21820
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
[1] 5218
before, host: $h, VSZ: 79488, RSS: 21808
after, host: $h, VSZ: 79488, RSS: 21816
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
[1] 5231
before, host: $h, VSZ: 79480, RSS: 21720
after, host: $h, VSZ: 79560, RSS: 21772
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'
[1] 5244
before, host: $h, VSZ: 70452, RSS: 18868
after, host: $h, VSZ: 71368, RSS: 19732
[1]+ Terminated perl -e 'use strict; use warnings; $|++; use LWP::UserAgent; use HTTP::Request::Common; for(0..499) { my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new( GET => "https://'$h'/foo" ); $ua->request( $req ); }'