重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
在企業網站中,為了避免同一個客戶長時間占用連接,造成資源浪費,可設置相應的連接超時參數,實現控制連接訪問時間
網站建設哪家好,找創新互聯建站!專注于網頁設計、網站建設、微信開發、小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了平川免費建站歡迎大家使用!
使用Fiddler工具查看connection參數
Keepalive_ timeout
#設置連接保持超時時間,-般可只設置該參數,默認為75秒,可根據
網站的情況設置,或者關閉,可在http段、server段、 或者location段
設置
Client_header_ timeout
#指定等待客戶端發送請求頭的超時時間
Client_ body_ _timeout
#設置請求體讀超時時間
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
[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
[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處理