[Catalyst] FastCGI deployment - slow to complete request
Gervase Markham
gerv at mozilla.org
Mon Feb 15 10:07:12 GMT 2010
On 15/02/10 04:59, Steve Rippl wrote:
> Now this works, it's serving up the application, but each request is
> really slow to complete! The obvious effect of this is that a page with
> JavaScript waiting for a complete page before it does it's thing looks
> dreadful for a while, the html has arrived but the browser is still
> spinning, then eventually the page completes and the JS runs.
I think there's a strong chance you have the same problem that I have
with my production app, and have not yet had a chance to investigate. I
am using the built-in server for development, and FastCGI in production.
A good Mozilla hacker who is using my software tracked it down to the
following: Catalyst or Apache is sending the wrong Content-Length and so
the browser is spinning waiting for the rest of the data. It is sending
the Content-Length of the uncompressed data, but then the server is
applying a Content-Encoding of gzip.
Now, calculating Content-Length correctly would require doing the
compression before sending any headers, which would use a lot of memory
if the entity body was large. However, my understanding (RFC 2616
section 4.4) is that you either have to do that or use "chunked"
Transfer-Encoding.
I "solved" the problem by disabling mod_deflate. I don't know what a
proper fix would be.
Gerv
More information about the Catalyst
mailing list