preread_buffer_size
设置用于在 stream 模块中读取初始数据的缓冲区大小。 — NGINX Stream Core
preread_buffer_size
streamstream server
语法preread_buffer_size size;
默认值16k
上下文stream, stream server
模块NGINX Stream Core
参数1
说明
'preread_buffer_size' 指令在 NGINX Stream Core 中定义了用于在将连接交给后端服务器之前从套接字读取初始数据的缓冲区大小。对于那些需要读取一定量数据以正确处理请求或基于接收到的初始数据确定目标后端服务器的协议来说,这个缓冲区大小至关重要。 默认情况下,缓冲区大小设置为 16k,但可以根据应用的具体需求进行调整。如果缓冲区太小,可能导致数据读取被截断,从而引发请求处理问题或将请求错误路由到后端服务器。增大缓冲区大小可以在不丢失数据的情况下容纳更大的初始数据包,但值设置过大则会消耗不必要的内存,尤其是在处理大量并发连接时。 它通常在 'stream' 或 'stream server' 上下文中声明,允许用户根据具体架构在不同情况下指定不同的大小。在调整此指令时,应仔细权衡性能与内存使用之间的平衡。
配置示例
stream {
server {
listen 1234;
preread_buffer_size 32k;
}
}⚠
将缓冲区大小设置得过小,可能会在较大的初始请求时引发问题,从而可能导致请求失败。
⚠
值设置得过大可能会引入不必要的内存开销,尤其是在为大量并发流提供服务时。