ajp_buffer_size

`ajp_buffer_size` 指令设置用于读取从 AJP 服务器接收的响应初始部分的缓冲区大小。

语法ajp_buffer_size size;
默认值4k/8k
上下文http, server, location
参数1

说明

ajp_buffer_size 指令对于在 NGINX 中优化通过 AJP (Apache JServ Protocol) 传输的响应处理至关重要。该指令指定用于读取来自 AJP 服务器响应第一部分的缓冲区大小,该部分通常包含 HTTP 头。实际上,这使得 NGINX 能够高效地管理初始读取的数据量,从而降低延迟并提升使用 AJP 的应用程序的性能。通过设置此缓冲区大小,可以控制用于处理头部的内存分配,确保该大小适合特定用例中预期的头部。

ajp_buffer_size 的参数接受一个大小值,可以以字节定义(例如 1k, 2m)或以系统的默认页面大小(如 4k, 8k)。默认行为是与 ajp_buffers 指令设置的缓冲区大小相匹配,这意味着如果不设置 ajp_buffer_size,它将继承该大小。然而,如果预计头部较小,你可以将此值自定义为小于或等于缓冲区大小,这可以在不需要大量 AJP 头的场景中优化内存使用。

配置示例

http {
    upstream tomcats {
        server 127.0.0.1:8009;
        keepalive 10;
    }

    server {
        listen 80;

        location / {
            ajp_buffer_size 2k;
            ajp_pass tomcats;
        }
    }
}

如果将 ajp_buffer_size 设置得过小,当头部超过指定大小时可能导致响应被截断。

如果使用尺寸不当的缓冲区,性能可能因增加的内存分配开销而下降。

请确保指定的大小与来自您的 AJP 服务器的预期响应大小相符。

← 返回所有指令