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)用等。

主站蜘蛛池模板: 国产国模一区二区三区四区| 国产jizzjizz视频| 国产另类视频| 欧美成人综合视频| 精品久久久久成人码免费动漫| 91久久精品日日躁夜夜躁欧美| 亚洲国产理论片在线播放| 亚洲网综合| 日韩视频福利| 国产视频入口| 国产精品第页| 试看120秒男女啪啪免费| 人妻无码中文字幕一区二区三区| 久久人妻xunleige无码| 996免费视频国产在线播放| 国产精品99r8在线观看| 毛片最新网址| 国产精品网址你懂的| 免费啪啪网址| 一级在线毛片| 99无码中文字幕视频| 欧美成一级| 午夜不卡福利| 香蕉久久国产超碰青草| 精品一区二区无码av| 丝袜亚洲综合| 国产一级裸网站| 青草91视频免费观看| 蜜桃臀无码内射一区二区三区| 热久久这里是精品6免费观看| 26uuu国产精品视频| 国产精品免费福利久久播放 | 91无码视频在线观看| 亚洲视频一区在线| 亚洲人人视频| 素人激情视频福利| 狠狠色成人综合首页| 国产日韩欧美在线视频免费观看| 亚洲成人在线免费| 在线免费观看AV| 日本国产精品| 色噜噜狠狠狠综合曰曰曰| 日韩123欧美字幕| 91原创视频在线| 国产丝袜丝视频在线观看| 亚洲清纯自偷自拍另类专区| 日本午夜在线视频| 色哟哟色院91精品网站| 国产成人欧美| 久久精品人妻中文系列| 亚洲成人网在线观看| 四虎影视无码永久免费观看| 久青草免费在线视频| 亚洲热线99精品视频| 中文字幕免费在线视频| 婷婷99视频精品全部在线观看| 伊人久久久久久久| 欧美国产日产一区二区| 久热中文字幕在线观看| 亚洲国产亚洲综合在线尤物| 五月天在线网站| 精品无码国产一区二区三区AV| 国产精品久久久久久久伊一| 性喷潮久久久久久久久| 99手机在线视频| A级全黄试看30分钟小视频| 国模粉嫩小泬视频在线观看| 欧美成人aⅴ| 亚洲第一中文字幕| 国产欧美高清| 永久免费无码日韩视频| 亚洲日韩国产精品无码专区| 亚洲va在线∨a天堂va欧美va| 97国产一区二区精品久久呦| 亚洲色精品国产一区二区三区| 2021国产精品自产拍在线观看| 蜜芽国产尤物av尤物在线看| 青青青视频免费一区二区| 国产91精品调教在线播放| 波多野结衣视频一区二区| 亚洲AV成人一区国产精品| 久久亚洲天堂|