Apache 2.x uses mod_deflate for compression.† This module has a buffer that is 8,096 bytes by default. You can reduce the size of this buffer using the DeflateBufferSize directive
12.5 Other Intermediaries
I look for headers such as Proxy-Connection, X-Forwarded-For, and Via or a status containing “HTTP/1.0” in the HTML document response. If any of these are present, you’re probably going through a proxy that may prevent flushing from working.
check list
• Is output buffering on? If so, you have to use the ob_ functions.
• Do you see the Transfer-Encoding: chunked response header? Chunked encoding is typically required for flushing to work.
• Is the response gzipped? If so, and you’re running a version of Apache earlier than 2.2.8, you have to add padding to your page.
• Are you behind a proxy or using antivirus software? These might buffer the chunks before sending them through to the browser.
• Are any of the resources referenced in the flushed chunk being blocked because they’re fetched from the same domain as the HTML document?
• Are you testing only in Safari or Chrome? The flushed HTML must be more than 2 KB to see the benefits in these browsers.