溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nginx優(yōu)化---連接超時與進程管理

發(fā)布時間:2020-08-03 12:15:33 來源:網(wǎng)絡(luò) 閱讀:569 作者:caozhengtao1213 欄目:系統(tǒng)運維

配置Nginx實現(xiàn)連接超時

在企業(yè)網(wǎng)站中,為了避免同一個客戶長時間占用連接,造成資源浪費,可設(shè)置相應(yīng)的連接超時參數(shù),實現(xiàn)控制連接訪問時間

使用Fiddler工具查看connection參數(shù)

超時參數(shù)

Keepalive_ timeout
#設(shè)置連接保持超時時間,-般可只設(shè)置該參數(shù),默認為75秒,可根據(jù)
網(wǎng)站的情況設(shè)置,或者關(guān)閉,可在http段、server段、 或者location段
設(shè)置

Client_header_ timeout
#指定等待客戶端發(fā)送請求頭的超時時間

Client_ body_ _timeout
#設(shè)置請求體讀超時時間

更改Nginx運行進程數(shù)

1.在高并發(fā)場景,需要啟動更多的Nginx進程以保證快速響應(yīng),以處理用戶的請求,避免造成阻塞

2.可以使用ps aux命令查看Nginx運行進程的個數(shù)

3.更改進程數(shù)的配置方法:配置文件,修改進程配置參數(shù)

4.修改配置文件的worker_ _processes參數(shù)

(1)一般設(shè)為CPU的個數(shù)或者核數(shù)

(2)在高并發(fā)情況下可設(shè)置為CPU個數(shù)或者核數(shù)的2倍

5.運行進程數(shù)多一些, 響應(yīng)訪問請求時,Nginx就不會臨時啟動新的進程提供服務(wù),減少了系統(tǒng)的開銷,提升了服務(wù)速度

6.使用ps aux查看運行進程數(shù)的變化情況

7.默認情況,Nginx的多個進程可能跑在一一個CPU上,可以分配不同的進程給不同的CPU處理,充分利用硬件多3核多CPU

8.在一臺4核物理服務(wù)器,可進行以下配置,將進程進行分配: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;     
#服務(wù)端和客戶端的超時時間,可在http\server\location中設(shè)置

client_header_timeout 80;     
#等待客戶端發(fā)送請求頭部超時時間,超時會發(fā)送408錯誤

client_body_timeout 80;          
#請求體超時時間

[root@localhost conf]# systemctl stop nginx
[root@localhost conf]# systemctl start nginx

二、Nginx進程管理演示

第一步:關(guān)閉虛擬機,添加CPU

Nginx優(yōu)化---連接超時與進程管理

第二步:查看此時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核心數(shù)
processor       : 0   ##第一個CPU
...
processor       : 1   ##第二個CPU
...
[root@localhost proc]# vim /usr/local/nginx/conf/nginx.conf

#user  nobody;
worker_processes  2;
#修改核數(shù)相同或者2倍

worker_cpu_affinity 01 10;
#設(shè)置每個進程有不同的CPU處理
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI