本文中,红色字体为nginx调优建议值。
1. Linux系统资源限制配置调优
linux资源限制配置文件是/etc/security/limits.conf;限制用户进程的数量对于linux系统的稳定性非常重要。
limits.conf文件限制着用户可以使用的最大文件数,最大线程,最大内存等资源使用量。
* soft nofile 655350 #任何用户可以打开的最大的文件描述符数量,默认1024,这里的数值会限制tcp连接
* hard nofile 655350
* soft nproc 655350 #任何用户可以打开的最大进程数
* hard nproc 655350
hard和soft两个值都代表什么意思呢?
soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错。
永久设置可以打开的最大的文件描述符数量,操作如下:
#root权限下,在/etc/security/limits.conf中添加如下两行,表示所有用户最大打开文件描述符数的soft limit为655350,hard limit为655350。 * soft nofile 655350 * hard nofile 655350
2. nginx进程数的配置调优
nginx服务启动后,会存在两个重要的进程
1. master进程,控制nginx的启动、停止、配置文件的重载。 2. worker进程,用于处理用户请求,将收到的请求转发的到后端服务端。
worker进程的个数可以在配置文件nginx.conf文件中进行配置,如下所示:
worker_processes 1; #Nginx配置文件中 worker_processes指令后面的数值代表了nginx启动后worker进程的个数。
worker进程的数量一般建议等于CPU的核数或者CPU核数的两倍。通过执行lscpu命令可以获取到CPU的核数。
配置完成worker进程的数量后,还建议将每一个worker进程绑定到不同的CPU核上,这样可以避免出现CPU的争抢。将worker进程绑定到不同的CPU核时,可以通过在nginx.conf中增加worker_cpu_affinity 配置,例如将worker进程分配到4核的CPU上,可以按照如下配置进行配置。
worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; #0001表示启用第一个CPU内核,0010表示启用第二个CPU内核,依此类推
特别说明:1.9.10版本后,可以配置worker_processes 为auto。如下:
worker_processes auto; #可以根据物理CPU自动设定,nginx启动后的worker进程数与实际cpu核数相等。 worker_cpu_affinity auto;
3. nginx客户端连接数的调优
在高并发的请求调用中,连接数有时候很容易成为性能的一个瓶颈。nginx可以通过如下方式来调整nginx的连接数。
配置nginx单个进程允许的客户端最大连接数,可以修改nginx中的nginx.conf配置文件中的配置如下:
events
{ worker_connections 65535; }
标签:655350,worker,nginx,调优,进程,soft,CPU From: https://www.cnblogs.com/silgen/p/16636782.html