Nginx调优

1.worker_processes auto;

worker进程数,最优值取决于许多因素,包括但不限于cpu核的数量,磁盘空间,负载模式。设置为cpu核数是一个很好的开始,auto会自动检查cpu核数,并设置它。

2.worker_rlimit_nofile 100000;

更改工作进程的最大打开文件数量限制,不写默认是操作系统的限制,设置后nginx可以处理比ulimit -a 更多的文件。这个数值设置的高一些,就不会有too many open files的问题

3.events模块中的worker_connections 2048;

设置一个worker进程同时打开的最大连接数,这个值要比上面提到的worker_rlimit_nofile更高

4.events模块中的multi_accept on;

nginx收到一个新的通知后,尽可能接受更多的连接

5.events模块中的use epoll;

epoll不用多说了吧

6.http模块中的sendfile on;

sendfile on;让linux操作系统的sendfile发挥作用。
sendfile是在磁盘和tcp socket之间互相copy数据
sendfile立即将数据从磁盘读到os缓存。内核态完成的,sendfile 要比read加write的组合更有效

7.tcp_nopush on;

nginx在一个数据包里发送所有的头文件,不是一个一个发

8.tcp_nodelay on;

nginx不要缓存数据,而是一段一段发送

原创:做时间的朋友
原文地址:https://www.cnblogs.com/PythonOrg/p/15479668.html