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
> 

Reply via email to