反向代理系统调优
反向代理值Buffer和Cache
Buffer翻译过来是"缓冲",Cache翻译过来是"缓存"。
总结下:
相同点:
两种方式都是用来提供IO吞吐效率,都是用来提升Nginx代理的性能。
不同点:
缓冲主要用来解决不同设备之间数据传递速度不一致导致的性能低的问题,缓冲中的数据一旦此次操作完成后,就可以删除。
缓存主要是备份,将被代理服务器的数据缓存一份到代理服务器,这样的话,客户端再次获取相同数据的时候,就只需要从代理服务器上获取,效率较高,缓存中的数据可以重复使用,只有满足特定条件才会删除.
(1)Proxy Buffer相关指令
》proxy_buffering :该指令用来开启或者关闭代理服务器的缓冲区;
语法 | proxy_buffering on|off; |
---|---|
默认值 | proxy_buffering on; |
位置 | http、server、location |
》proxy_buffers:该指令用来指定单个连接从代理服务器读取响应的缓存区的个数和大小。
语法 | proxy_buffers number size; |
---|---|
默认值 | proxy_buffers 8 4k | 8K;(与系统平台有关) |
位置 | http、server、location |
number:缓冲区的个数
size:每个缓冲区的大小,缓冲区的总大小就是number*size
》proxy_buffer_size:该指令用来设置从被代理服务器获取的第一部分响应数据的大小。保持与proxy_buffers中的size一致即可,当然也可以更小。
语法 | proxy_buffer_size size; |
---|---|
默认值 | proxy_buffer_size 4k | 8k;(与系统平台有关) |
位置 | http、server、location |
》proxy_busy_buffers_size:该指令用来限制同时处于BUSY状态的缓冲总大小。
语法 | proxy_busy_buffers_size size; |
---|---|
默认值 | proxy_busy_buffers_size 8k|16K; |
位置 | http、server、location |
》proxy_temp_path:当缓冲区存满后,仍未被Nginx服务器完全接受,响应数据就会被临时存放在磁盘文件上,该指令设置文件路径
语法 | proxy_temp_path path; |
---|---|
默认值 | proxy_temp_path proxy_temp; |
位置 | http、server、location |
注意path最多设置三层。
》proxy_temp_file_write_size:该指令用来设置磁盘上缓冲文件的大小。
语法 | proxy_temp_file_write_size size; |
---|---|
默认值 | proxy_temp_file_write_size 8K|16K; |
位置 | http、server、location |
通用网站的配置
proxy_buffering on;
proxy_buffer_size 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
根据项目的具体内容进行相应的调节。