跳转到主内容
极星编程网:以代码为星,赴技术山海!

Nginx安装后默认client_body_buffer_size缓冲区

Nginx默认client_body_buffer_size为8KB,控制请求体内存缓冲上限,超限则写临时文件;过小增I/O,过大耗内存;需据业务调整,且不可超过client_max_body_size。 Nginx 安装后默认的
client_body_buffer_size
值是 8KB (即 8192 字节),适用于大多数小请求体场景,比如普通表单提交、JSON API 请求等。 这个值影响什么? 该指令控制 Nginx 在内存中缓存客户端请求体(request body)的最大大小。当请求体(如 POST 数据)不超过该值时,Nginx 直接在内存中处理;超过则会写入临时文件(由
client_body_temp_path
指定,默认在
nginx/client_body_temp/
下)。 太小:频繁写临时文件,增加磁盘 I/O 和延迟 太大:浪费内存,尤其在高并发下可能积压较多缓冲区 上传大文件或含大量文本的请求(如富文本、批量 JSON)容易触发临时文件写入 如何查看当前值? 可在 Nginx 配置中显式查找,或用以下命令快速确认:
nginx -T 2>/dev/null | grep client_body_buffer_size
若无输出,说明未自定义,即使用默认 8k。 常见调整建议 根据业务实际调整更合理: 纯 API 服务(JSON 小请求):保持
8k
或略增至
16k
即可 含文件上传的后台接口:建议设为
128k
~
512k
,避免小文件也落盘 需支持大文本提交(如日志上报、代码片段):可设为
1m
,但需同步检查
client_max_body_size
注意:
client_body_buffer_size
不能大于
client_max_body_size
,否则无效 配置示例(放在 http / server / location 块中) 例如在
server
块内设置:
client_body_buffer_size 256k;
修改后需重载生效:
nginx -s reload
。

相关文章