output_buffers
output_buffers 指令用于配置从上游服务器读取响应体时使用的缓冲区数量和大小。 — NGINX HTTP Core
output_buffers
httpserverlocation
语法output_buffers number size;
默认值8 16k;
上下文http, server, location
模块NGINX HTTP Core
参数2
说明
`output_buffers` 指令设置 NGINX 用来保存发送给客户端的响应的缓冲区数量和大小。当生成响应时,NGINX 需要高效管理输出,尤其是对于较大的响应。该指令通过允许管理员根据预期响应大小指定缓冲区数量及每个缓冲区的大小,从而帮助优化这一管理。它在性能调优方面特别有用,因为较少但更大的缓冲区可能减少开销,但也可能导致更高的内存消耗。 该指令的语法需要两个参数:第一个是缓冲区的数量,第二个是每个缓冲区的大小。例如,`output_buffers 2 16k;` 将配置 NGINX 使用 2 个缓冲区,每个大小为 16 千字节。该分配意味着在开始向客户端发送数据之前,最多可以缓存 32 千字节。该指令可以在 `http`、`server` 或 `location` 上下文中声明,为服务器配置的不同部分提供灵活性。 在基于流量模式和响应大小选择合适的缓冲区大小和数量时应当谨慎。过小的缓冲区可能导致 NGINX 经常向客户端写入,降低性能,而过大的缓冲区则会造成内存浪费。建议在微调这些值时持续监控响应大小和性能。
配置示例
http {
output_buffers 4 32k;
}⚠
使用不合适的大小可能导致内存使用低效并且性能下降。
⚠
虽然增大缓冲区大小可以提升大响应的性能,但对于较小的响应可能会浪费内存。