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

基于Nginx的可擴展負載均衡Web站點部署

2014-03-17 01:08:42任世宗李潤知張茜王宗敏
中國教育網絡 2014年8期
關鍵詞:優化用戶系統

文/任世宗 李潤知 張茜 王宗敏

基于Nginx的可擴展負載均衡Web站點部署

文/任世宗 李潤知 張茜 王宗敏

隨著網絡服務的日趨完善,我們在獲得方便的同時,也面臨著巨大的挑戰:并發業務訪問數量的直線增長,是網絡中的Web服務器工作能力的嚴峻考驗。

采用多服務器集群技術是解決上述問題的有效方案,而負載均衡是集群技術的核心問題。負載均衡能夠將大量的并發訪問請求合理地均分到集群內的各服務器上進行處理,有效地避免了單一服務器數據流過大的問題,同時能夠使各個服務器的資源得到均衡的使用。負載均衡包括硬件和軟件兩種類型,硬件的成本高昂,軟件的負載均衡配置部署靈活,越來越受到人們的親睞。

Nginx是中小企業軟件負載均衡的不錯選擇。Nginx支持高并發,官方測試可支持5萬的并發連接。進程消耗內存少,每個Nginx進程僅消耗十幾兆的內存。Nginx作為開源軟件,成本低廉。另外,Nginx配置文件簡單,穩定性高,且非常易于部署。但是Nginx也存在一些問題:它作為反向代理服務器時,連接的后端物理Web應用服務器(如Apache、IIS等)性能無法得到充分利用,不易于根據業務并發量動態的調整后端服務器的數量,負載均衡的效果不是特別理想。

本文提出了用Nginx反向代理虛擬機的方式實現Web站點的負載均衡,既充分的利用了CPU、內存等硬件資源,又滿足了高并發的需求,并且具有非常好的擴展性。

Nginx的配置優化

如圖1所示,我們對服務A啟用A1、A2兩臺虛擬機,部署到兩臺不同的物理機上,對服務B做類似的部署。這樣,既避免了由于物理機故障,導致服務中斷,又有效地利用了物理機的資源。

在采用此種架構的基礎上,我們對Nginx的主配置文件nginx.conf進行一些優化:

user www www;

#只開啟一個進程,節省內存

work_processes 1;

error_log /usr/local/nginx/nginx_error.log crit;

pid /usr/local/nginx/nginx.pid;

work_rlimit_nofile51200;

events

{

use epoll;

work_connections 51200; }

http

{

include /user/local/nginx/mime.types; default_type application/octet-stream; #charset utf-8

server_names_hash_bucket_size 128; client_header_buffer_size 32k;

large_client_header_buffers 4 64k;

#指定 nginx 是否調用 sendfile 函數(zero copy 方式)來輸出文件,對于普通應用,

必須設為 on,如果用來進行下載等應用磁盤

IO重負載應用,可設置為 off,以平衡磁盤與網絡I/O處理速度,降低系統的uptime

sendfile on;

#tcp_nopush和tcp_nodely兩個指令設置為on,用于防止網絡阻塞

tcp_nopush on tcp_nodelay on; keepalive_timeout 65;

#對網頁文件、CSS、JS、XML等啟動gzip壓縮,減少數據傳輸量,提高訪問速度。

gzip on;

gzip_min_length 1k; gzip_buffers 4 8k;

gzip_http_version 1.1; gzip_comp_level 3;

gzip_typestext/plain application/x-javascripts test/ css application/xml;

gzip_vary on;

#設定負載均衡服務器列表,采用ip hash的方式進行負載均衡,使來自同一個ip的訪客固定訪問一個后端服務器,有效解決session共享問題。

upstream myserver {

ip_hash;

server 192.168.100.1∶80 weight=5 max_fails=2 fail_ timeout=30s;

server 192.168.100.2∶80 weight=5 max_fails=2 fail_ timeout=30s;

}

server

{

listen80;

server_namewww.youdomain.com;

root www/myserver

location/

{

proxy_next_upstream http_502 http_504 error timeout invalid_header;

proxy_pass http∶//myserver;

proxy_set_header Host www.youdomain.com;

proxy_set_header X-Forward-For $remote_addr; }

#將動態的頁面交給后端的Web服務器群組處理。

location ~ .*.(php|jsp|cgi)?$

{

proxy_set_header Host www.youdomain.com;

proxy_set_header X-Forward-For $remote_addr; proxy_pass http∶//myserver;

#將動靜頁面進行分離,定義靜態資源由Nginx發布目錄讀取。

location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|j s|css)$

{

root /www/myserver;

# 圖片、靜態頁等不常更改,設置它們在用戶瀏覽器的本地緩存為3天,提高訪問速度

圖1 實現Web站點的負載均衡

expires 3d;

access_log /logs/www.youdomain.com_access.log; }足這種動態的業務需求,隨時的增加、減少虛擬機,非常方便。

架構的優點

1.利用Nginx進行動靜分離,充分發揮Nginx處理靜態頁的優勢,有效減輕后端虛擬機的負載。

2.通過ip hash實現后端虛擬機的負載均衡,保證來自同一ip的訪問請求定位在一個虛擬機上,有效解決session共享問題。

3.通過gzip壓縮、用戶瀏覽器緩存等的設置,節省帶寬,提高訪問速度。

4.傳統的IIS、Apache服務器等在并發連接高的時候,很容易崩潰。利用本文提出的架構可以有效地將并發連接均分到多個虛擬機,這樣每個虛擬機的并發連接數在相對較低的情況下,減小了崩潰的可能性。

5.軟件依賴于硬件,因此計算機硬件的更新速度始終快于軟件。考慮到IIS、Apache等的并發瓶頸問題,如果我們的服務器僅僅作為一個Web服務器的話,其性能很難得到充分的發揮,資源利用率并不高。采用虛擬機的方式可以充分的利用系統資源,借助于Nginx最為反向代理,在低成本投入的前提下,實現高并發、高性能的Web服務。

6.隨著企業業務的發展,用戶的數量可能會不斷增加;另外,某些企業也可能在不同的時間段內有差別很大的訪問量。用Nginx反向代理虛擬機的形式可以很好的滿

測試分析

工具介紹

本次測試采用的軟件是LoadRunner。

LoadRunner是一種適用于各種體系架構的自動化負載測試工具,它通過模擬大量實際用戶的操作行為,對被測試系統實施并發負載測試,同時對被測試的系統進行實時的性能監測,并自動整理生成測試結果,以便于找出性能的瓶頸。它主要由六部分組成:

1.虛擬用戶生成器(Vugen):追蹤業務和生成測試腳本

2.壓力生成器:模擬真實用戶產生負載。

3.用戶代理:調整整個虛擬用戶,使步調一致。

4.壓力調度:跟蹤用戶需求,改變虛擬用戶數量。

5.監控系統:監控性能指標。

6.測試結果分析器:生成各種分析圖表,用于分析瓶頸。

性能指標

本次測試主要選取了并發用戶、響應時間、系統資源利用率三個比較具有代表性的參數進行記錄分析。

1.并發用戶

指所有用戶在同一時刻做同一事情或操作,這種操作一般針對通一類型的業務;或者所有用戶進行完全一樣的操作,目的是測試程序對并發操作的處理。

2.響應時間

響應時間是從用戶的角度分析的時間延遲,單位為毫秒或秒。作為最終用戶來說,評價系統性能的好壞只能根據感覺時間的快慢,他不關心并發訪問系統的人數等其他因素。Web應用系統的性能,可以認為是系統的平均響應時間。通常情況下,系統負載能力越大,響應時間越短。訪問的用戶數越大,響應時間越長。

3.資源利用率

資源利用率是只對不同系統資源的使用程度,是測試和分析瓶頸,改善系統性能的主要依據。

測試結果及分析

圖2

圖3

圖4

圖5

圖6

圖7

圖8

本次測試的對象是某高校的研究生院網站,它的邏輯并不復雜,但在每年的招生期間有很高的并發量。首先,單臺物理機下進行測試;然后,搭建Nginx反向代理服務器,再次進行測試;最后,對Nginx進行優化后的測試。

三次測試的過程中均錄制統一的腳本,設置初始用戶100,每次增加50的并發用戶。

1.單臺物理機搭建LLS服務器性能測試

測試環境:Xeon 4核處理器+4G內存+Windows Server 2003+IIS6.0

測試分析:

(1)并發用戶

當并發用戶到達200的時候開始出現錯誤,隨著虛擬用戶的繼續增長,大部分訪問請求都不能pass,打開瀏覽器發現網站頁面打不開,如圖2所示。

(2)系統平均響應時間

我們發現隨著并發訪問數量的增加,系統的響應時間直線增長,系統的平均響應時間很高,最高超過100秒,如圖3所示。

(3)系統資源

我們可以看到隨著虛擬用戶的增長,CPU資源的占用率沒有明顯增長的趨勢,內存空閑資源僅稍有減少,如圖4所示。

通過對結果的分析,我們看到,LLS服務器在虛擬用戶數達到將近200的時候開始出錯,300的時候已經崩潰,而系統的資源利用率實際上并不高。

2.利用Nginx反向代理虛擬機時的性能測試

測試環境:2臺單核2G的虛擬機(Windows Server 2003+IIS6.0)+雙核4G的Nginx物理機。

測試分析:

(1)并發用戶

當并發用戶到達550的時候開始出現錯誤,部分訪問請求不能pass,打開瀏覽器發現網站頁面打開極慢,如圖5所示。

(2)系統平均響應時間

我們看到,使用Nginx進行反向代理之后,系統的響應時間有所降低,最高50秒左右,但是還是很高,可能與測試環境有關,如圖6所示。

(3)系統資源

Loadrunner只能監測到Nginx服務器的系統資源,我們在測試的過程中通過登錄IIS服務器發現CPU資源利用率在平均約45%,內存利用率平均約50%,都沒有隨并發連接數急劇增長的現象。

通過對結果的分析,我們看到,通過Nginx反向代理IIS虛擬機,有效的提升了網站并發訪問的負載能力,IIS虛擬機的資源利用率比單個物理機時更充分。

3.對Nginx進行優化后的性能測試

測試環境:2臺單核2G的虛擬機(Windows Server 2003+IIS6.0)+雙核4G的Nginx物理機(優化后的)。

測試分析:

(1)并發用戶

我們發現,經過對Nginx的優化,當并發用戶到達650的時候才開始出現第一個錯誤,隨著虛擬用戶的增加,錯誤數量的增加不是太快,打開瀏覽器發現網站頁面還能打開,只是訪問速度慢,說明Nginx服務器和IIS服務器均沒有崩潰,如圖7所示。

(2)系統平均響應時間

從圖表中我們看到,響應時間和對Nginx進行優化前對比有顯著減少,平均在12秒左右,最高24秒,如圖8所示。

(3)系統資源

同樣通過直接登錄查看IIS虛擬機的系統資源,發現CPU利用率平均約45%,內存利用率平均約50%,跟優化前沒有明顯區別。

通過對結果的分析,我們看到,對Nginx的合理優化有效的增加了并發訪問量,減少了系統響應時間,進一步提高了Web服務的性能,系統資源的利用率保持不變。

Nginx是一款不錯的反向代理軟件,利用Nginx反向代理虛擬機的架構可以有效避免IIS、Apache的并發瓶頸問題,并且增加了網站的可擴展性。通過對高校網站的壓力測試,證實了Nginx反向代理虛擬機架構的可用性,同時發現了網站的瓶頸所在。總的來說,Web應用的性能是受多方面影響的,不能一味去增加硬件設備,要通過實際的測試,找出瓶頸所在,多從優化架構、優化參數配置入手,從而提高性能,提高Web服務的質量。

(作者單位為鄭州大學信息網絡重點開放實驗室)

猜你喜歡
優化用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 亚洲色图另类| 伊人色在线视频| 欧美区国产区| 久久精品人妻中文系列| 国产视频自拍一区| 五月婷婷综合在线视频| 久久久久久久97| 正在播放久久| 亚洲人精品亚洲人成在线| 亚洲国产成人无码AV在线影院L| 日本人真淫视频一区二区三区 | 国产极品美女在线播放| 国产成人精品免费av| 黄色网在线| 2021亚洲精品不卡a| 无码丝袜人妻| 日本人妻丰满熟妇区| 女人18一级毛片免费观看| 九色视频在线免费观看| 色婷婷久久| 久久永久免费人妻精品| 呦女亚洲一区精品| 日韩精品一区二区三区swag| 国产精品片在线观看手机版| 欧美在线三级| 欧美成人午夜视频| 婷婷午夜影院| 国产清纯在线一区二区WWW| 国产精品久久自在自线观看| 日韩黄色精品| 欧美日本激情| 又大又硬又爽免费视频| 男人的天堂久久精品激情| 99精品热视频这里只有精品7| 亚洲中文字幕久久精品无码一区| 欧美视频免费一区二区三区| 在线播放国产一区| 韩国福利一区| 中文字幕1区2区| 在线观看91精品国产剧情免费| 欧美另类第一页| 伊人大杳蕉中文无码| 亚洲精品国产自在现线最新| 国产视频一区二区在线观看| 日韩毛片在线视频| 情侣午夜国产在线一区无码| 成人毛片在线播放| 日本在线欧美在线| 精品一区二区三区波多野结衣| 精品久久久久久久久久久| 手机成人午夜在线视频| 狠狠躁天天躁夜夜躁婷婷| 91小视频在线| 国产主播在线观看| 久久国产热| 永久免费av网站可以直接看的| 无码中文字幕精品推荐| 亚洲天堂区| 国产在线98福利播放视频免费| 国产精品一区二区无码免费看片| 国产三级毛片| 在线观看免费国产| 国产精品成人啪精品视频| 国产成人综合久久精品尤物| 国产精品55夜色66夜色| 手机在线看片不卡中文字幕| 国产精品永久在线| 亚洲国产精品无码久久一线| 欧美中文字幕一区| 国产精品永久久久久| 欧美日韩精品在线播放| 91美女视频在线| 亚洲最大综合网| 2020亚洲精品无码| 黄色网站不卡无码| 制服丝袜一区二区三区在线| 国产午夜精品一区二区三区软件| 久久美女精品国产精品亚洲| 亚洲va欧美va国产综合下载| 国产农村1级毛片| 国产99视频免费精品是看6| 婷婷亚洲视频|