- worker调优
worker是Nginx的进程,一个worker理论上可以处理几万个请求,为了更好利用Nginx的缓存机制,让worker运行在固定的CPU上,从而减少worker切换CPU时造成的性能消耗。worker的数量并不是越多越好,worker的数量一般配制与物理CPU的物理核心数相同。
- CPU在LINUX的编号
CPU物理核心编号由一个8位的二进制串表示,0000 0001表示第一个物理核心,0000 0010表示第二个核心,0000 0100表示第三个物理核心。第八号物理核心表示为1000 0000。
- Nginx 配制worker与CPU绑定
nginx.conf 配制如下
worker_processes 2;
worker_cpu_affinity 0001 0010;
将两个worker绑定在第一、二个CPU物理核心上。
- worker nice值的调整(worker进程的优先级调整)
worker的优先级是通过worker_priority参数调整的,其取值范围为[-20, 20]。
worker_processes 2;
worker_cpu_affinity 0001 0010;
worker_priority 19;
虽然worker的nice值最大为20,实际上只以到达19,当超出20这个值时,用nginx -t进得测试已经报出配制异常,但nginx仍然能以19的优先级启动。
- worker_rlimit_number调优
worker_rlimit_number,用于限制nginx单个进程最大的并