upload_merge_buffer_size
在 multipart 表单上传期间设置合并文件上传数据的缓冲区大小。
NGINX module for handling file uploads
·
httpserverlocation
语法upload_merge_buffer_size size;
默认值1m
上下文http, server, location
参数1
说明
upload_merge_buffer_size 指令在 NGINX 上传模块中定义了用于合并已上传文件数据的缓冲区大小。处理 multipart/form-data 提交时,尤其是包含多个文件部分或断点续传的情况,NGINX 可能需要临时存储并处理上传数据的块。合并过程可确保传入数据在被处理或保存前以适当的格式组装。较大的缓冲区大小可以通过减少在处理大文件或大量并发上传时发生的内存重分配频率来提升性能,但也可能增加每个连接的内存使用量。
该指令的参数以字节为单位指定,将其设置为更高的值可以一次在内存中保存更大的传入数据块。然而,重要的是找到平衡,因为过高的值可能导致内存消耗增加,特别是在大量并发上传的高负载情况下。根据预期的上传大小和流量模式对该指令进行适当调整可以获得最佳效果。
该指令可在包括 http、server 和 location 在内的多个上下文中使用,允许根据应用的特定需求灵活配置,例如为不同的位置或服务器设置不同的上传要求。
配置示例
http {
server {
location /upload {
upload_pass /upload_handler;
upload_merge_buffer_size 2m;
upload_store /tmp/uploads;
}
}
}⚠
将缓冲区大小设置得过高可能在高负载时耗尽服务器内存。
⚠
该指令在重新加载 NGINX 工作进程之前不会生效。
⚠
配置错误可能导致数据上传出现分段或不完整的情况。