nginx高并发优化之核心模块设置
2024-10-30 08:59:10 阅读次数:12
nginx,优化,并发
一、概述
user nginx nginx;
worker_processes auto;
worker_cpu_affinity auto;
error_log /www/log/nginx_error.log;
pid /usr/local/nginx/nginx.pid;
worker_rlimit_nofile 65535;
二、说明
1、nginx服务的进程数
ginx通过工作进程处理具体的请求,设置几个工作进程就代表允许几个并发。最优的设置是worker进程数量要与CPU的核数相等
worker_processes 8;
#建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。
#查看自身系统配置:cat /proc/cpuinfo| grep "processor"| wc -l
#或者top命令输出1查看
worker_processes 8;
worker_processes auto;
2、指定CPU内核来运行工作进程
默认情况下worker进程不绑定在任何一个CPU上。在 nginx 版本 1.9.10 之后,是可以自动将 worker 进程绑定到对应的 cpu 上面的。
#为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
默认情况下,Nginx的多个进程有可能跑在某一个CPU或CPU的某一核上,导致Nginx进程使用硬件的资源不均,因此绑定Nginx进程到不同的
CPU上是为了充分利用硬件的多CPU多核资源的目的。
worker_cpu_affinity用来为每个进程分配CPU的工作内核,参数有多个二进制值表示,每一组代表一个进程,每组中的每一位代表该进程使
用CPU的情况,1代表使用,0代表不使用。
#启动多少worker进程,官方建议和CPU核心数一致,第一种绑定组合方式
8核CPU2进程设置:worker_processes 2; worker_cpu_affinity 10101010 01010101;
第二种方式
8核CPU8进程设置:worker_processes 8; worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
最佳方式绑定方式
worker_processes auto;
worker_cpu_affinity auto;
3、work进程最大打开文件数
worker_rlimit_nofile 65535;
#当一个nginx进程打开的最多文件描述符数目,理论值应该是系统的最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请
求并不是那么均匀,所以最好与ulimit -n的值保持一致。
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_13236892/5818606,作者:哭泣的馒头,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。
上一篇:JAVA复习3
下一篇:Python基础之解释器、PyCharm