Nginx的调优方向大概是:工作模式、最大连接数、超时时间、gzip压缩等
1.worker_processes 12:通常配置成cpu的总核数,或者其2倍,性能会更好,因为这样会减少进程间切换带来的消耗。
2.worker_cpu_affinity 100000000000 010000000000 001000000000 000100000000 000010000000 000001000000 000000100000 000000010000 000000001000 000000000100 000000000010 000000000001 :使用worker_cpu_affinity来绑定cpu,使得每个worker进程独享cpu,实现完全开发,性能会更好,但是这个只对linux系统有效。
3.worker_rlimit_nofile 65535 :一个nginx进程打开的最多的文件数目,设置为最大65535。
4.use epoll : 使用epoll模型性能更优。
5.worker_connections 65535 : Nginx服务器支持的最大连接数。
6.keepalive_timeout : 设置60左右就行。
7.sendfile on : 将文件加到系统内存,提高文件读取速度。
8.tcp_nopush、tcp_nodelay:这两个开启,减小网络延迟。
9.open_file_cache max=65535 : 文件缓存。这个开启后性能增加不少
10.gzip压缩开启。
11.日志文件关闭,减少磁盘IO的压力。
最后说一下:Nginx是搭在centos7下面的,所以对应的Linux的内核参数也需要修改最大的句柄数和最大进程数。其实还有一种很简单的Nginx调优办法,那就是加机器!!!实现负载均衡,分担压力。
nginx.conf
limit.conf
sysctl.conf
领取专属 10元无门槛券
私享最新 技术干货