温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-08-03 12:15:33 来源:网络 阅读:579 作者:caozhengtao1213 栏目:系统运维

配置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优化---连接超时与进程管理

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

[root@localhost ~]# ps aux | grep nginx
root       1854  0.0  0.0  20544   608 ?        Ss   14:17   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx      1855  0.0  0.0  23072  1392 ?        S    14:17   0:00 nginx: worker process
root       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处理
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI