在企業(yè)網(wǎng)站中,為了避免同一個(gè)客戶(hù)長(zhǎng)時(shí)間占用連接,造成資源浪費(fèi),可設(shè)置相應(yīng)的連接超時(shí)參數(shù),實(shí)現(xiàn)控制連接訪問(wèn)時(shí)間
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了平川免費(fèi)建站歡迎大家使用!
使用Fiddler工具查看connection參數(shù)
Keepalive_ timeout
#設(shè)置連接保持超時(shí)時(shí)間,-般可只設(shè)置該參數(shù),默認(rèn)為75秒,可根據(jù)
網(wǎng)站的情況設(shè)置,或者關(guān)閉,可在http段、server段、 或者location段
設(shè)置
Client_header_ timeout
#指定等待客戶(hù)端發(fā)送請(qǐng)求頭的超時(shí)時(shí)間
Client_ body_ _timeout
#設(shè)置請(qǐng)求體讀超時(shí)時(shí)間
1.在高并發(fā)場(chǎng)景,需要啟動(dòng)更多的Nginx進(jìn)程以保證快速響應(yīng),以處理用戶(hù)的請(qǐng)求,避免造成阻塞
2.可以使用ps aux命令查看Nginx運(yùn)行進(jìn)程的個(gè)數(shù)
3.更改進(jìn)程數(shù)的配置方法:配置文件,修改進(jìn)程配置參數(shù)
4.修改配置文件的worker_ _processes參數(shù)
(1)一般設(shè)為CPU的個(gè)數(shù)或者核數(shù)
(2)在高并發(fā)情況下可設(shè)置為CPU個(gè)數(shù)或者核數(shù)的2倍
5.運(yùn)行進(jìn)程數(shù)多一些, 響應(yīng)訪問(wèn)請(qǐng)求時(shí),Nginx就不會(huì)臨時(shí)啟動(dòng)新的進(jìn)程提供服務(wù),減少了系統(tǒng)的開(kāi)銷(xiāo),提升了服務(wù)速度
6.使用ps aux查看運(yùn)行進(jìn)程數(shù)的變化情況
7.默認(rèn)情況,Nginx的多個(gè)進(jìn)程可能跑在一一個(gè)CPU上,可以分配不同的進(jìn)程給不同的CPU處理,充分利用硬件多3核多CPU
8.在一臺(tái)4核物理服務(wù)器,可進(jìn)行以下配置,將進(jìn)程進(jìn)行分配:Worker_ cpu affinity 0001 0010 0100 1000
[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf
#keepalive_timeout 0;
keepalive_timeout 65 180;
#服務(wù)端和客戶(hù)端的超時(shí)時(shí)間,可在http\server\location中設(shè)置
client_header_timeout 80;
#等待客戶(hù)端發(fā)送請(qǐng)求頭部超時(shí)時(shí)間,超時(shí)會(huì)發(fā)送408錯(cuò)誤
client_body_timeout 80;
#請(qǐng)求體超時(shí)時(shí)間
[root@localhost conf]# systemctl stop nginx
[root@localhost conf]# systemctl start 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 ##第一個(gè)CPU
...
processor : 1 ##第二個(gè)CPU
...
[root@localhost proc]# vim /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 2;
#修改核數(shù)相同或者2倍
worker_cpu_affinity 01 10;
#設(shè)置每個(gè)進(jìn)程有不同的CPU處理