[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