阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 之 并发调试(二)

搭建好LNMP之后,接着要考虑的就是整个系统的并发能力了。

一、Nginx的配置

Nginx有很好的并发能力。但是要想使它的并发能力能够施展出来,需要在初步安装好的Nginx上做一些配置才能支持比较高的并发。主要需要修改的一些配置有:

1.nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。

 worker_processes 8;

2.为每个进程分配cpu,上例中将8个进程分配到8个cpu。

 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

3.下面这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是系统的最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。

 worker_rlimit_nofile 65535;

这个属性对Nginx的并发影响比较直接,如果值太小,会报错 55431 socket() failed (24: Too many open files) while connecting to upstream 。

Nginx 默认的打开文件的数量可以用 cat /proc/ps -ef | grep nginx|grep -v grep|head -1|awk '{print $2}'/limits 这个命令看到。

其中 Max open files,有两个属性很重要 一个是 Soft Limit,默认1024;另一个是 Hard Limit,默认 4096 。

这两个值限制了并发数。如果用默认值最大并发只能是 1000 左右。如何要进一步提高并发,就要对这两个值做修改。

但是,只是在Nginx的配置文件中添加 worker_rlimit_nofile 65535 ;有时候不起作用。

猜你喜欢

转载自www.cnblogs.com/ccdv/p/13157878.html