Nginx负载平衡器缓冲
Nginx支持代理响应缓冲,根据(2013年11月): proxy_buffering指令禁用响应缓冲,而不是请求缓冲 缓冲 到目前为止,没有办法阻止nginx中的请求主体缓冲。 在将请求传递给应用程序之前,nginx总是完全读取它 上游服务器。它基本上是nginx作为web的一部分 加速器-它自己处理与客户机的缓慢通信,并且 只有在一切就绪时才要求后端处理请求 自1.7.11版Nginx(2015年3月)指令代理请求缓冲以来: 更新:在nginx 1.7.11中,代理请求缓冲指令 可用,允许禁用请求主体的缓冲。信息技术 但应小心使用,请参阅文档 有关更多详细信息,请参阅: 语法:proxy_request_buffering on | off 默认值:代理请求缓冲打开Nginx负载平衡器缓冲,nginx,Nginx,Nginx支持代理响应缓冲,根据(2013年11月): proxy_buffering指令禁用响应缓冲,而不是请求缓冲 缓冲 到目前为止,没有办法阻止nginx中的请求主体缓冲。 在将请求传递给应用程序之前,nginx总是完全读取它 上游服务器。它基本上是nginx作为web的一部分 加速器-它自己处理与客户机的缓慢通信,并且 只有在一切就绪时才要求后端处理请求 自1.7.11版Nginx(2015年3月)指令代理请求缓冲以来: 更新:在nginx 1.7.11中,代理请求缓冲指令 可用,允许禁
Transactions: 2500 hits
Availability: 100.00 %
Elapsed time: 58.57 secs
Data transferred: 577.31 MB
Response time: 0.55 secs
Transaction rate: 42.68 trans/sec
Throughput: 9.86 MB/sec
Concurrency: 23.47
Successful transactions: 2500
Failed transactions: 0
Longest transaction: 2.12
Shortest transaction: 0.10
上下文:http、服务器、位置
启用缓冲时,将从
在将请求发送到代理服务器之前
当缓冲被禁用时,请求主体被发送到代理服务器
服务器在接收到它时立即启动。在这种情况下,该请求无法执行
如果nginx已经开始发送
请求主体
使用HTTP/1.1分块传输编码发送原始
请求主体,则无论
指令值,除非启用了HTTP/1.1代理
问题是关于Nginx(负载平衡器)的缓冲。例如,我们有以下计划:
Nginx (LB) -> Nginx (APP) -> Backend
Nginx(APP)缓冲来自负载平衡器的请求,也缓冲来自后端的响应。但是,如果两个Nginx节点在物理上彼此靠近(小于2ms ping),且网络连接速度非常快,那么在Nginx(LB)端缓冲请求和响应有意义吗
我测量了以下基准-请注意,这仅用于说明-生产负荷将显著增加:
围城--并发=50--重复=50
代理请求缓冲打开
Transactions: 2500 hits
Availability: 100.00 %
Elapsed time: 58.57 secs
Data transferred: 577.31 MB
Response time: 0.55 secs
Transaction rate: 42.68 trans/sec
Throughput: 9.86 MB/sec
Concurrency: 23.47
Successful transactions: 2500
Failed transactions: 0
Longest transaction: 2.12
Shortest transaction: 0.10
代理请求缓冲关闭
Transactions: 2500 hits
Availability: 100.00 %
Elapsed time: 57.80 secs
Data transferred: 577.31 MB
Response time: 0.53 secs
Transaction rate: 43.25 trans/sec
Throughput: 9.99 MB/sec
Concurrency: 22.75
Successful transactions: 2500
Failed transactions: 0
Longest transaction: 2.01
Shortest transaction: 0.09