mod_buffer Support de la mise en tampon des requêtes Extension mod_buffer.c buffer_module Disponible depuis les versions 2.3 et supérieures d'Apache

Ce module fournit la possibilité de mettre en tampon les piles des filtres en entrée et sortie.

Dans certaines situations, les générateurs de contenu créent des contenus composés de petits tronçons. Afin de permettre la réutilisation de la mémoire, les éléments de mémoire attribués aux tronçons ont toujours une taille de 8k, quelle que soit la taille du tronçon lui-même. Lorsqu'une requête génère de nombreux petits tronçons, une grande quantité de mémoire peut être mobilisée par le traitement de la requête, et une grande quantité de données transmises sans nécessité. Pour y remédier, l'utilisation d'un tampon rassemble la réponse en un nombre de tronçons le plus petit possible.

Lorsque httpd est utilisé comme frontal d'un générateur de contenu consommant beaucoup de ressources, la mise en tampon de la réponse peut permettre à ce dernier d'effectuer le traitement et de libérer les ressources plus ou moins rapidement, en fonction de la manière dont il a été conçu.

Le filtre de mise en tampon peut être ajouté aux piles des filtres en entrée ou en sortie, selon les besoins, à l'aide des directives SetInputFilter, SetOutputFilter, AddOutputFilter ou AddOutputFilterByType.

Utilisation d'un tampon avec mod_include AddOutputFilterByType INCLUDES;BUFFER text/html Les filtres de mise en tampon lisent la requête/réponse en RAM, puis la reconditionnent sous la forme d'un nombre d'éléments mémoire le plus petit possible, au prix d'une consommation de temps CPU. Lorsque la requête/réponse est déjà conditionnée de manière satisfaisante, sa mise en tampon pourrait s'avérer encore plus lente qu'en l'absence d'utilisation de tampon. C'est pourquoi ces filtres doivent être utilisés avec précautions, et seulement si nécessaire.
Les filtres BufferSize Taille maximale en octets du filtre par tampon BufferSize entier BufferSize 131072 server config virtual host directory .htaccess

La directive BufferSize permet de spécifier la quantité de données en octets qui sera mise en tampon avant d'être lue depuis ou écrite vers chaque requête. La valeur par défaut est 128 ko.