in reply to Need help with CGI script that won't complete running

I've got the same problem migrating some clients apps to apache 2. The script which under apache 1.3.x runs in 2 minutes, times out after 12 on the new machine. The new machine is about 4x faster than the old. I believe in my case, it's a bug with apache and it's new filter system. I made it a command line utility and it runs in about a minute. So I've isolated everything else (the filesystem,db, process size) It doesn't fork anything BTW.

I've read various things that indicate under certain circumstances, that Apache 2 reports prematurarly, the wrong content length because of the way it chunks output for the filters. So first, try speeding it up or increasing the timeout parameter in Apache. Second, Pray. Every report of this I saw while researching, none had an answer (Google with the timeout error text ). (Redhat hasn't been able to come up with anything for me.)

If I find anything out, I'll be sure to post an answer and would appreciate it, if you could do the same.


-Lee

"To be civilized is to deny one's nature."
  • Comment on Re: Need help with CGI script that won't complete running

Replies are listed 'Best First'.
Re: Re: Need help with CGI script that won't complete running
by Vautrin (Hermit) on Jan 27, 2004 at 02:38 UTC

    The interesting thing about this whole thing is that once I forked it, and the process was able to complete (and mod_perl successfully cached the forked compilation) the script flew (10 seconds versus several minutes). This is important to note because originally I tried installing mod_perl and it actually hurt the performance of the script because not only was it trying to run my script but it was trying to cache the compilation (and thus added overhead). This makes me think it should be possible to run the script in the background, and create a web page to "jump" from one web page to the other -- i.e. through refresh or Javascript.

    If you could make the transition nice enough I don't think the users would notice -- especially on the sped up version. Oh, one more thing, the reason I had to assign document.location = newURL; in javascript is because Mozilla choked on the refresh tags. I think it was caching it but didn't fiddle around with it enough to find out.