999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Nginx的Web服務(wù)器優(yōu)化的應(yīng)用研究

2021-04-07 10:51:25李若蘭
科技風(fēng) 2021年9期

摘 要:隨著互聯(lián)網(wǎng)的快速發(fā)展,人們對(duì)網(wǎng)站的訪問量也隨著日益增長,越來越多的Web服務(wù)器經(jīng)常處于高并發(fā)訪問狀態(tài),導(dǎo)致服務(wù)器性能快速下降,甚至系統(tǒng)崩潰的嚴(yán)重后果。如何在硬件資源允許的前提下,通過軟件的配置支持高并發(fā)訪問成為了當(dāng)前亟待解決的重要課題。本文嘗試使用Nginx搭建Web服務(wù)器并對(duì)Nginx的連接數(shù)和客戶訪問限制方面進(jìn)行優(yōu)化測(cè)試研究,對(duì)幫助和改善Web服務(wù)器的高并發(fā)性能起到一定的積極作用。

關(guān)鍵詞:Web服務(wù)器;Nginx;性能優(yōu)化

隨著互聯(lián)網(wǎng)的快速發(fā)展,人們對(duì)網(wǎng)站的訪問量也隨著日益增長,越來越多的Web服務(wù)器經(jīng)常處于高并發(fā)訪問狀態(tài),導(dǎo)致服務(wù)器性能快速下降,甚至?xí)斐烧麄€(gè)服務(wù)器系統(tǒng)崩潰的嚴(yán)重后果。如何在硬件資源允許的前提下,通過軟件的配置使Web服務(wù)器支持高并發(fā)訪問成為了當(dāng)前亟待解決的重要課題。

近幾年來Nginx因?yàn)榫哂休p量級(jí)和高并發(fā)的特點(diǎn),國內(nèi)如百度、淘寶、騰訊、新浪和網(wǎng)易等網(wǎng)站都開始使用Nginx來滿足一些高并發(fā)訪問的需求[1]。

本文嘗試使用Nginx搭建Web服務(wù)器,并對(duì)Nginx在提高客戶端連接數(shù)、客戶請(qǐng)求數(shù)限制和瀏覽器緩存等方面優(yōu)化測(cè)試進(jìn)行應(yīng)用研究。

1 測(cè)試環(huán)境準(zhǔn)備

1.1 搭建Web系統(tǒng)

測(cè)試環(huán)境使用VMware部署兩臺(tái)安裝CentOS7操作系統(tǒng)的虛擬機(jī),作為Web系統(tǒng)的服務(wù)器端和客戶端。在完成兩臺(tái)Linux虛擬機(jī)的IP地址分配任務(wù)后,在Linux虛擬機(jī)1安裝Nginx,在Linux虛擬機(jī)2安裝Apache,即Linux虛擬機(jī)1通過運(yùn)行Nginx充當(dāng)Web服務(wù)器,Linux虛擬機(jī)2作為客戶端,測(cè)試環(huán)境如圖1所示。

1.2 服務(wù)器端創(chuàng)建測(cè)試網(wǎng)站

在Web服務(wù)器創(chuàng)建一個(gè)測(cè)試網(wǎng)站,客戶端使用域名方式訪問該測(cè)試網(wǎng)站。

(1)在服務(wù)器端的nginx.conf文件中http塊內(nèi)添加一個(gè)使用www.ng.test域名的虛擬主機(jī);

(2)在客戶端添加一條域名解析記錄(192.168.100.1www.ng.test);

(3)在客戶端的瀏覽器使用域名方式訪問網(wǎng)站。

2 使用Nginx優(yōu)化Web服務(wù)器

Nginx的默認(rèn)設(shè)置是為了平衡Web服務(wù)器的各種工作場(chǎng)景而準(zhǔn)備的通用方案,在特定工作中并不一定能發(fā)揮最佳的性能。本文對(duì)客戶端訪問Web服務(wù)器的連接數(shù)、客戶端請(qǐng)求限制等方面進(jìn)行性能調(diào)優(yōu)測(cè)試,即驗(yàn)證了Nginx的高并發(fā)的特點(diǎn),又能改善Web服務(wù)器性能[1]。

2.1 Nginx的連接數(shù)優(yōu)化測(cè)試

2.1.1 修改Linux系統(tǒng)的連接數(shù)限制

因?yàn)長inux系統(tǒng)把進(jìn)程的連接數(shù)當(dāng)作文件處理,一個(gè)進(jìn)程的連接數(shù)不能超過1024[1]。如果要使客戶端和服務(wù)器端支持高并發(fā)連接數(shù),必須修改進(jìn)程數(shù)量的限制,具體命令如下:

[root@client~]#ulimit-n 65535

2.1.2 修改Nginx的連接數(shù)限制

Nginx運(yùn)行時(shí)允許存在多個(gè)工作進(jìn)程,工作進(jìn)程的數(shù)目可以在nginx.conf文件中指定,通常設(shè)置為CPU的核心數(shù)[2]。為了使Nginx能夠承載更高的連接數(shù),需要修改nginx.conf文件中與連接數(shù)限制相關(guān)的參數(shù)。具體命令如下:

http {

……

worker_processes auto;

worker_rlimit_nofile 65535;

……

events {

worker_connections 65535;

multi_accept on;

}

……

}

說明:worker_processes指令用于指定工作進(jìn)程的個(gè)數(shù),設(shè)置為auto時(shí)Nginx將根據(jù)CPU的核心數(shù)來控制;worker_rlimit_nofile用于設(shè)置最多打開的文件數(shù)量;worker_connections用于設(shè)置每個(gè)工作進(jìn)程可接收的連接數(shù);multi_accept表示是否允許一個(gè)工作進(jìn)程響應(yīng)多個(gè)請(qǐng)求。

2.1.3 客戶端高并發(fā)訪問服務(wù)器端測(cè)試

在客戶端使用Apache的ApacheBench工具向服務(wù)器端發(fā)送并發(fā)連接數(shù)是5000的訪問請(qǐng)求,具體命令如下:

[root@client~]#cd/usr/local/apache2/bin

[root@client bin]#./ab-n5000-c5000 http://www.ng.test/

說明:ab命令的選項(xiàng)-n表示發(fā)送的連接數(shù),-c表示并發(fā)數(shù),http://www.ng.test/表示請(qǐng)求的服務(wù)器URL地址。

測(cè)試結(jié)果出現(xiàn)如下信息:

Complete requests: 5000

Failed requests: 0

從測(cè)試結(jié)果顯示可以看出Nginx成功接收5000的并發(fā)連接請(qǐng)求。

2.2 客戶端請(qǐng)求限制測(cè)試

以上客戶端對(duì)服務(wù)器的高并發(fā)連接測(cè)試是通過同一個(gè)主機(jī)向服務(wù)器發(fā)送的高并發(fā)連接請(qǐng)求,在實(shí)際應(yīng)用中如果出現(xiàn)這種情況,這很可能是遭受網(wǎng)絡(luò)攻擊,會(huì)消耗服務(wù)器大量的資源。為了避免這種危險(xiǎn)情況的出現(xiàn),Nginx可以對(duì)來自同一IP地址的客戶端請(qǐng)求數(shù)和傳輸速率進(jìn)行限制。

2.2.1 限制同一個(gè)IP的請(qǐng)求數(shù)

服務(wù)器端通過nginx.conf文件的limit_req指令可以限制來自單個(gè)IP地址的請(qǐng)求處理頻率,具體配置如下:

http {

……

limit_req_zone $binary_remote_addr zone=creq:10m rate=1r/s;

server {

listen 80;

server_name localhost;

location /{

root html/test;

index index.html;

limit_req zone=creq burst=1;

}

}

……

}

說明:limit_req_zone指令用于開辟一個(gè)共享內(nèi)存空間保存客戶端IP,空間名稱為creq,空間大小為10M;預(yù)定義變量$binary_remote_addr保存了用二進(jìn)制表示的當(dāng)前客戶端IP地址;limit_req指令用于限制請(qǐng)求數(shù)量。

在客戶端使用ApacheBench工具進(jìn)行并發(fā)測(cè)試,測(cè)試結(jié)果看到100個(gè)請(qǐng)求中有98個(gè)是失敗的。

[root@client bin]#./ab-n100-c100 http://www.ng.test/

Complete requests:100

Failed requests: 98

2.2.2 限制響應(yīng)的傳輸速率

服務(wù)器端通過nginx.conf文件的limit_rate指令可以限制服務(wù)器在響應(yīng)時(shí)傳輸數(shù)據(jù)到客戶端的速率,具體配置如下:

http {

……

server {

……

limit_rate 100k;

……

}

}

說明:limit_rate用于限制每個(gè)連接的傳輸速率。

為了測(cè)試限速是否生效,在測(cè)試網(wǎng)站根目錄下放置一個(gè)大容量的測(cè)試文件,在客戶端使用wget命令下載,具體操作如下:

[root@client~]# wget http://www.ng.test/libmcrypt-2.5.8.tar.gz

……

100%[============================>]1,335,178 100KB/s in 13s

……

從測(cè)試結(jié)果看出下載速度基本維持在100KB/s左右。

通過以上對(duì)Nginx做連接數(shù)和客戶訪問限制方面進(jìn)行優(yōu)化測(cè)試分析,對(duì)幫助和改善Web服務(wù)器的高并發(fā)性能起到一定的積極作用。

參考文獻(xiàn):

[1]黑馬程序員Nginx高性能Web服務(wù)器實(shí)戰(zhàn)教程.清華大學(xué)出版社,2017.

[2]岳晉,溫宇,黃旻亮.Windows環(huán)境下的Nginx高并發(fā)實(shí)現(xiàn).電子技術(shù)與軟件工程,2019(17):47.

作者簡介:李若蘭(1977— ),女,壯族,廣西來賓人,柳州鐵道職業(yè)技術(shù)學(xué)院專任教師,講師,主要研究方向:計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)存儲(chǔ)、云計(jì)算技術(shù)與應(yīng)用等。

主站蜘蛛池模板: 被公侵犯人妻少妇一区二区三区| 91福利一区二区三区| 亚洲永久视频| 好吊妞欧美视频免费| 亚洲天堂视频在线播放| 亚洲国产系列| 久久男人资源站| 99激情网| 国产成人AV综合久久| 成人精品免费视频| 国内精品久久九九国产精品| 青草视频久久| 久久久久亚洲av成人网人人软件| 不卡的在线视频免费观看| 韩国自拍偷自拍亚洲精品| 欧美日韩国产成人高清视频| 免费jjzz在在线播放国产| 国产精品高清国产三级囯产AV| 欧美三级不卡在线观看视频| 九九热这里只有国产精品| 岛国精品一区免费视频在线观看| 亚洲一级无毛片无码在线免费视频 | 视频二区欧美| 国产农村妇女精品一二区| 免费无码一区二区| 热热久久狠狠偷偷色男同 | 欧美成人一级| 日韩在线网址| 欧美激情网址| 国产精品漂亮美女在线观看| 日韩激情成人| 青青青国产精品国产精品美女| 中文字幕免费在线视频| 日本一本正道综合久久dvd| 色视频国产| 伊人久久久久久久| 成人亚洲天堂| 国产成人亚洲欧美激情| 久久网欧美| 久久国产精品麻豆系列| 一本大道香蕉中文日本不卡高清二区| 原味小视频在线www国产| 国产成人精品2021欧美日韩| 国产黑丝一区| 国产99视频在线| 东京热高清无码精品| a级毛片免费看| 亚洲综合18p| 日本精品视频| 久久毛片免费基地| 亚洲 欧美 偷自乱 图片| 久久精品国产国语对白| 欧美一级99在线观看国产| 香蕉99国内自产自拍视频| 亚洲AV无码久久精品色欲| 99久久国产综合精品2020| 亚洲VA中文字幕| 久久99热66这里只有精品一| 激情在线网| 国产69精品久久久久妇女| 亚洲人成网站在线播放2019| 91国语视频| 特级精品毛片免费观看| 成人午夜免费视频| 91精品国产福利| 国产精品露脸视频| 亚洲一区二区三区中文字幕5566| 国产精品成| 国产在线一区视频| 亚洲中文字幕在线观看| 日韩大片免费观看视频播放| 欧美高清三区| 久久77777| 成人精品视频一区二区在线| 国产一区二区人大臿蕉香蕉| 免费一级毛片在线播放傲雪网| 国产成人午夜福利免费无码r| 91视频99| 97精品伊人久久大香线蕉| 一本大道在线一本久道| 国产视频一二三区| jizz亚洲高清在线观看|