亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2021-04-07 10:51:25李若蘭
        科技風 2021年9期
        關(guān)鍵詞:性能優(yōu)化

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

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

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

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

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

        1 測試環(huán)境準備

        1.1 搭建Web系統(tǒng)

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

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

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

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

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

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

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

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

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

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

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

        [root@client~]#ulimit-n 65535

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

        Nginx運行時允許存在多個工作進程,工作進程的數(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指令用于指定工作進程的個數(shù),設(shè)置為auto時Nginx將根據(jù)CPU的核心數(shù)來控制;worker_rlimit_nofile用于設(shè)置最多打開的文件數(shù)量;worker_connections用于設(shè)置每個工作進程可接收的連接數(shù);multi_accept表示是否允許一個工作進程響應(yīng)多個請求。

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

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

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

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

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

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

        Complete requests: 5000

        Failed requests: 0

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

        2.2 客戶端請求限制測試

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

        2.2.1 限制同一個IP的請求數(shù)

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

        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指令用于開辟一個共享內(nèi)存空間保存客戶端IP,空間名稱為creq,空間大小為10M;預定義變量$binary_remote_addr保存了用二進制表示的當前客戶端IP地址;limit_req指令用于限制請求數(shù)量。

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

        [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ù)據(jù)到客戶端的速率,具體配置如下:

        http {

        ……

        server {

        ……

        limit_rate 100k;

        ……

        }

        }

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

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

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

        ……

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

        ……

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

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

        參考文獻:

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

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

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

        猜你喜歡
        性能優(yōu)化
        大數(shù)據(jù)環(huán)境下高校選課系統(tǒng)性能優(yōu)化應(yīng)用研究
        數(shù)據(jù)挖掘算法性能優(yōu)化的研究與應(yīng)用
        SQL Server數(shù)據(jù)庫性能優(yōu)化的幾點分析
        Web應(yīng)用的前端性能優(yōu)化
        660MW超超臨界火電機組RB性能優(yōu)化
        WEB網(wǎng)站緩存性能優(yōu)化
        淺析Lustre的優(yōu)化設(shè)置
        Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化分析
        科技視界(2016年1期)2016-03-30 14:27:50
        基于節(jié)點緩存的Web服務(wù)器性能優(yōu)化研究
        基于SQL數(shù)據(jù)庫的性能優(yōu)化的探討
        科技資訊(2015年7期)2015-07-02 18:48:14
        人妻无码一区二区三区| 亚洲最大av免费观看| 神马不卡影院在线播放| 日本最新一区二区三区视频观看| 一本色道无码道dvd在线观看| 国产在线一91区免费国产91| 亚洲av套图一区二区| 刚出嫁新婚少妇很紧很爽| 国语对白做受xxxxx在| 无码AV高潮喷水无码专区线| 一区二区三区不卡免费av| 国产亚洲精品精品综合伦理| 疯狂的欧美乱大交| 91av小视频| 亚洲精品国产一区av| 亚洲高清在线天堂精品| 精品久久欧美熟妇www| 97人妻视频妓女网| 日韩一级精品亚洲一区二区精品| 大地资源网在线观看免费官网| 99久久久精品免费观看国产| 成人无码区免费AⅤ片WWW| 亚洲精品国产熟女久久久| 日韩网红少妇无码视频香港| 国产精品天天狠天天看| 久久精品视频按摩| 蜜臀av一区二区三区久久| 中文字幕丰满乱子无码视频| 无码一区二区三区AV免费换脸 | 国产狂喷水潮免费网站www| 国产人妻久久精品二区三区| 囯产精品无码一区二区三区AV| 天堂丝袜美腿在线观看| 大胸少妇午夜三级| 亚洲一区视频在线| 亚洲中文高清乱码av中文| 人妻无码一区二区三区| 国内精品一区二区三区| 日韩丝袜人妻中文字幕| 国产精品沙发午睡系列| 国产亚洲情侣一区二区无|