一、worker_processes :一般配置成cpu的总核数,或者其2倍,性能会更好。这能够
减小进程间切换带来的消耗。还能够同时使用worker_cpu_affinity来绑定cpu,使得每一个worker进程独享一个实现彻底的并发,性能更好,不过这个只对linux系统有效。html
二、events:里面的事件模型,Linux推荐使用epoll模型,FreeBSD推荐采用kqueue
三、worker_rlimit_nofile:描述一个nginx进程打开的最多的文件数目。配置成跟
linux内核下文件打开数一致就能够了。能够经过ulimit -n 来查看,新装的系
统默认是1024,CentOS中能够以下方式进行修改:
在/etc/security/limits.conf最后增长:
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535linux
四、worker_connections:每一个进程容许的最多链接数,默认是1024,能够设置大一些。
理论上并发总数是worker_processes和worker_connections的乘积,
五、worker_connections值的设置跟物理内存大小有关,由于系统能够打开的最大文件数和内
存大小成正比,通常1GB内存的机器上能够打开的文件数大约是10万左右,因此,
worker_connections 的值需根据 worker_processes 进程数目和系统能够打开的最大文件
总数进行适当地进行设置。
六、keepalive_timeout:设置到65左右就能够
七、client_header_buffer_size:设置请求的缓存,设置为4k,一般为系统分页大小的整数
倍,能够经过getconf PAGESIZE 来查看系统分页大小。
八、对打开文件设置缓存
open_file_cache max=建议设置成和每一个进程打开的最大文件数一致 inactive=60s;
open_file_cache_valid 90s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
九、尽可能开启Gzip压缩,gzip_comp_level一般设置成3-5,高了浪费CPU
十、Error日志优化:运行期间设置为crit,能够减小I/Onginx
十一、access日志优化:若是使用了其余统计软件,能够关闭日志,来减小磁盘写,或者写入内
存文件,提升I/O效率。
十二、sendfile指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,一般
应设置成on,若是是下载等应用磁盘IO重负载应用,可设置为 off
1三、Buffers size优化:若是buffer size过小就会到致使nginx使用临时文件存储response,
这会引发磁盘读写IO,流量越大问题越明显。
1四、client_body_buffer_size 处理客户端请求体buffer大小。用来处理POST提交数
据,上传文件等。client_body_buffer_size 须要足够大以容纳须要上传的POST数据。同
理还有后端的buffer数据。
1五、worker_priority进程优先级设置:Linux系统中,优先级高的进程会占用更多的系统资
源,这里配置的是进程的静态优先级,取值范围-20到+19,-20级别最高。所以能够把这个
值设置小一点,但不建议比内核进程的值低(一般为-5)
1六、 合理设置静态资源的浏览器缓存时间,尽可能用浏览器缓存
1七、负载均衡锁accept_mutex,建议开启,默认就是开启的
1八、若是使用SSL的话,并且服务器上有SSL硬件加速设备的话,请开启硬件加速后端
https://www.cnblogs.com/xiaoliangup/p/9185259.html浏览器