千家信息网

Nginx优化---连接超时与进程管理

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,配置Nginx实现连接超时在企业网站中,为了避免同一个客户长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间使用Fiddler工具查看connection参数超时参数Keep
千家信息网最后更新 2024年11月11日Nginx优化---连接超时与进程管理

配置Nginx实现连接超时

在企业网站中,为了避免同一个客户长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间

使用Fiddler工具查看connection参数

超时参数

Keepalive_ timeout#设置连接保持超时时间,-般可只设置该参数,默认为75秒,可根据网站的情况设置,或者关闭,可在http段、server段、 或者location段设置Client_header_ timeout#指定等待客户端发送请求头的超时时间Client_ body_ _timeout#设置请求体读超时时间

更改Nginx运行进程数

1.在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞

2.可以使用ps aux命令查看Nginx运行进程的个数

3.更改进程数的配置方法:配置文件,修改进程配置参数

4.修改配置文件的worker_ _processes参数

(1)一般设为CPU的个数或者核数

(2)在高并发情况下可设置为CPU个数或者核数的2倍

5.运行进程数多一些, 响应访问请求时,Nginx就不会临时启动新的进程提供服务,减少了系统的开销,提升了服务速度

6.使用ps aux查看运行进程数的变化情况

7.默认情况,Nginx的多个进程可能跑在一一个CPU上,可以分配不同的进程给不同的CPU处理,充分利用硬件多3核多CPU

8.在一台4核物理服务器,可进行以下配置,将进程进行分配:Worker_ cpu affinity 0001 0010 0100 1000

实例演示

一、Nginx连接超时演示

修改nginx.conf配置文件

[root@localhost ~]# cd /usr/local/nginx/conf/[root@localhost conf]# vim nginx.conf#keepalive_timeout  0;keepalive_timeout  65 180;     #服务端和客户端的超时时间,可在http\server\location中设置client_header_timeout 80;     #等待客户端发送请求头部超时时间,超时会发送408错误client_body_timeout 80;          #请求体超时时间[root@localhost conf]# systemctl stop nginx[root@localhost conf]# systemctl start nginx

二、Nginx进程管理演示

第一步:关闭虚拟机,添加CPU

第二步:查看此时Nginx进程信息

[root@localhost ~]# ps aux | grep nginxroot       1854  0.0  0.0  20544   608 ?        Ss   14:17   0:00 nginx: master process /usr/local/nginx/sbin/nginxnginx      1855  0.0  0.0  23072  1392 ?        S    14:17   0:00 nginx: worker processroot       1859  0.0  0.0 112728   972 pts/0    S+   14:18   0:00 grep --color=auto nginx

第三步:修改配置文件

[root@localhost ~]# cd /proc/[root@localhost proc]# cat cpuinfo   ##查看cpu核心数processor       : 0   ##第一个CPU...processor       : 1   ##第二个CPU...[root@localhost proc]# vim /usr/local/nginx/conf/nginx.conf#user  nobody;worker_processes  2;#修改核数相同或者2倍worker_cpu_affinity 01 10;#设置每个进程有不同的CPU处理
0