Apache Module mod_buffer

Summary

This module provides the ability to buffer the input and output
filter stacks.

Under certain circumstances, content generators might create
content in small chunks. In order to promote memory reuse, in
memory chunks are always 8k in size, regardless of the size of the
chunk itself. When many small chunks are generated by a request,
this can create a large memory footprint while the request is
being processed, and an unnecessarily large amount of data on the
wire. The addition of a buffer collapses the response into the
fewest chunks possible.

When httpd is used in front of an expensive content generator,
buffering the response may allow the backend to complete
processing and release resources sooner, depending on how the
backend is designed.

Using buffer with mod_include

AddOutputFilterByType INCLUDES;BUFFER text/html

The buffer filters read the request/response into
RAM and then repack the request/response into the fewest memory
buckets possible, at the cost of CPU time. When the request/response
is already efficiently packed, buffering the request/response could
cause the request/response to be slower than not using a buffer at
all. These filters should be used with care, and only where
necessary.

Notice:This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.