高并发场景下的Nginx优化指南( 三 )


看上去是和tcp_nopush相反的功能,但是两边都为on时nginx也可以平衡这两个功能的使用 。
keepalive_timeout
HTTP连接的持续时间 。设的太长会使无用的线程变的太多 。这个根据自己服务器访问数量、处理速度以及网络状况方面考虑 。
send_timeout
设置Nginx服务器响应客户端的超时时间,这个超时时间只针对两个客户端和服务器建立连接后,某次活动之间的时间,如果这个时间后,客户端没有任何活动,Nginx服务器将关闭连接,将其设置为10s,Nginx与客户端建立连接后,某次会话中服务器等待客户端响应超过10s,就会自动关闭 。
types_hash_max_size
types_hash_max_size影响散列表的冲突率 。types_hash_max_size越大,就会消耗更多的内存,但散列key的冲突率会降低,检索速度就更快 。types_hash_max_size越小,消耗的内存就越小,但散列key的冲突率可能上升 。
client_header_buffer_size
该指令用于设置Nginx服务器允许的客户端请求头部的缓冲区大小,默认为1KB,此指令的赋值可以根据系统分页大小来设置,分页大小可以用以下命令获取getconf PAGESIZE 。
client_max_body_size 8m
客户端上传的body的最大值 。超过最大值就会发生413(Request Entity Too Large)错误 。默认为1m,最好根据自己的情况改大一点 。
gzip on【高并发场景下的Nginx优化指南】启用gzip,对响应数据进行在线实时压缩,减少数据传输量 。
gzip_disable
Nginx服务器在响应这些种类的客户端请求时,不使用Gzip功能缓存应用数据,gzip_disable "msie6"对IE6浏览器的数据不进行GZIP压缩 。
gzip_min_length
Gzip压缩功能对大数据的压缩效果明显,但是如果压缩很小的数据,可能出现越压缩数据量越大的情况,因此应该根据相应页面的大小,选择性开启或者关闭Gzip功能 。建议将值设置为1KB 。
gzip_comp_level
设置压缩程度,包括级别1到级别9,级别1表示压缩程度最低,压缩效率最高;级别9表示压缩程度最高,压缩效率最低,最费时间 。
gzip_vary
用于设置在使用Gzip功能时是否发送带有“Vary:Accept-Encoding”头域的响应头部,该头域的主要功能是告诉接收方发送的数据经过了压缩处理,开启后端效果是在响应头部Accept-Encoding: gzip,对于本身不支持Gzip的压缩的客户端浏览器是有用的 。
gzip_buffers;
该指令用于设置Gzip压缩文件使用存储空间的大小,
语法gzip_buffers number size;number,指定Nginx服务器需要向系统申请存储空间的个数,size,指定每个缓存空间的大小 。根据配置项,Nginx服务器在对响应输出数据进行Gzip压缩时需向系统申请number


推荐阅读