centos-rhel服务器相关 / nginx / 未分类 · 2013年9月25日

nginx 调优

1 nginx指令中的优化(配置文件)
1) nginx进程数,
worker_processes
建议按照cpu数目来指定,一般为它的倍数。
2)使用epoll的I/O模型
use epoll;
3)一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。
worker_rlimit_nofile 102400;
4) 每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections
worker_connections
5)客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求的头部大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。分页大小可以用命令getconf PAGESIZE取得。
client_header_buffer_size 4k;
6)keepalive超时时间。
7)使用gzip 缓存 css js 图片等
2 内核参数的优化
3 FastCGI参数优化
fastcgi_connect_timeout 300;
指定连接到后端FastCGI的超时时间。
fastcgi_send_timeout 300;
向FastCGI传送请求的超时时间,这个值是指已经完成两次握手后向FastCGI传送请求的超时时间。
fastcgi_read_timeout 300;
接收FastCGI应答的超时时间,这个值是指已经完成两次握手后接收FastCGI应答的超时时间。
60
同时处理的并发请求数,即它将开启最多60个子线程来处理并发连接。
102400
最多打开文件数。
204800
每个进程在重置之前能够执行的最多请求数。
等等
书 p 171
http://showerlee.blog.51cto.com/2047005/1287869
http://opkeep.com/system/linux/nginx-optimize.html
http://www.howtocn.org/nginx:%E9%85%8D%E7%BD%AE%E4%B8%80%E4%B8%AA%E9%AB%98%E6%80%A7%E8%83%BD%E7%9A%84nginx_fastcgi%E6%9C%8D%E5%8A%A1%E5%99%A8