mod_buffer - Apache HTTP Server Version 2.4

Apache HTTP Server Version 2.4

Apache > HTTP Server > Documentation > Version 2.4 > Modules

# Apache Module mod_buffer

Available Languages: en | fr

Description: | Support for request buffering
Status: | Extension
Module Identifier: | buffer_module
Source File: | mod_buffer.c
Compatibility: | Available in Apache 2.3 and later

### 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.

The buffer filter may be added to either the input or the output filter stacks, as appropriate, using the `SetInputFilter`, `SetOutputFilter`, `AddOutputFilter` or `AddOutputFilterByType` directives.

### 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.

### Directives

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

### See also

- Filters
- Comments

## BufferSize Directive

Description: | Maximum size in bytes to buffer by the buffer filter
Syntax: | `BufferSize integer`
Default: | `BufferSize 131072`
Context: | server config, virtual host, directory, .htaccess
Status: | Extension
Module: | mod_buffer

The `BufferSize` directive specifies the amount of data in bytes that will be buffered before being read from or written to each request. The default is 128 kilobytes.

Available Languages: en | fr

## Comments

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 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 Libera.chat, or sent to our mailing lists.