I agree there doesn't seem to be any obvious error in your code construction, so I think there are a couple of ways you could approach this problem:
* profile your application with Devel::NYTProf to see what areas of the code are taking up so much time after one of these checkpoint operations, * From the "Worse is Better" world, maybe you experimentally run the checkpoint POST from a shell using curl as in system("/usr/bin/curl -s -H'HeaderThingy: True' -X POST $url"); and see if that avoids whatever problem you seem to be experiencing from Perl-land. One other area you could explore would be checking rt.cpan.org to see if there are any bugs (and/or patches) filed against the HTTPS support libs like IO::Socket::SSL or Net::SSLeay for Ubuntu 12. Mark ________________________________ From: Tuc at T-B-O-H <m...@t-b-o-h.net> To: libwww@perl.org Sent: Thursday, September 20, 2012 7:52 AM Subject: Re: Make a request, all subsequent are S-L-O-W Hi, Anyone? Tuc > > Hi, > > Running 6.03 on Ubuntu 12.04 fairly patched up. (Within a month). > > Odd situation... I'm running hundreds of gets/posts in a single program > which is running great. Every #X transactions I have to "checkpoint". > Stupidly, > and which I have no control over, this checkpoint is a POST... And it error > 500's. I can't get the devs for love, money or scooby snacks to stop it from > error 500ing. However, *EVERY TIME* the program checkpoints, all subsequent > gets/posts seem to take FOR-EV-ER. > > I've looked at the code a dozen times, I'm not doing anything else > weird, I immediately return from that subroutine and back to the exact place > I was, I don't tweak anything special... I just : > > $tcontent = ""; > > if ($gg{'TTMPRESULTS'} =~ /Must_Checkpoint/) { > $response = $browser->post( > $ccheckpointurl.$procnum, > &ssetheader("$ccheckpointurlhdr"), > Content => $tcontent > ); > } else { > print "No checkpoint\n"; > } > > > Its all SSL so doing any sort of debug with wireshark isn't possible > (They won't release the SSL key to me) so I don't know where to go. The fact > that it (Unfortunately, knowingly) error 500's is my only starting point. > > Ideas? > > Thanks, Tuc >