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

一種針對短時高并發小型Web 應用系統的并發控制方法

2019-06-25 09:22:14王君妍
中國教育網絡 2019年5期
關鍵詞:用戶實驗方法

文/王君妍

如今Web 已成為網絡應用的主流形式,而部分小型的網站如校園內常見的選課系統等,會偶爾出現高并發的情況[1]。大量用戶短時間內同時訪問網站服務器,后端程序或數據庫由于壓力過大、硬件資源有限等原因響應慢,服務器響應時間極大增加,從而形成惡性循環,甚至導致服務崩潰[2]。

目前,常見的解決方案有使用緩存技術方案、使用Nginx 自帶的限速方案、增加網站服務器數量并進行負載均衡方案等。各方案原理及缺點如下所述:

使用緩存技術加快網站服務器的響應速度,其工作原理是將常用數據存儲到內存中,以減少硬盤I/O 次數,從而加快數據讀取速度[3]。該方法一般用于讀取數據的請求占比較大的場景,但是類似于選課的業務,寫入請求占比較大,緩存基本不適用,且該方法需要進行后端業務系統改造,與具體業務耦合度較高。

Nginx 本身自帶限流排隊、連接數限制、請求速率限制以及對單個IP 地址進行限速的功能[4]。但是這些功能適用于防止惡意流量、惡意用戶的情況,在選課等場景下,用戶的請求具有連續性,如果采用此類限制方法,將會導致用戶無法完整地完成操作。

增加網站服務器數量并進行負載均衡,其工作原理是增加網站服務器的數量,通常借助反向代理服務器來提供橫向擴展,使多臺服務器共同分擔網絡請求[5]。本文針對的場景是小型Web 應用系統如選課系統,通常其本身并不具備負載均衡的能力,改造的代價會相對較大[6]。

綜上所述,現有解決方案存在需要進行后端系統改造、與具體業務耦合程度高、成本高等問題。

為解決上述問題,本文提出一種基于反向代理的針對小型短時高并發網站的并發控制方法,基于反向代理對用戶會話進行排隊,通過當前用戶會話隊列長度和網站服務器的平均響應時間,動態調整處理隊列的大小,決定輸出的用戶會話數,使后端網站的平均響應時間最小。此方法無需對后端網站服務器進行改造,無需額外增加成本,規模小、易用性強,對于本文偶發性短時高并發的小型Web 應用場景更為適用。

本文最后將這種方法在仿真的網絡環境中進行測試,測試結果表明該方法可以提升整體訪問速度。

并發控制方法

問題描述

在如高校選課等典型的場景下,大量用戶幾乎同時訪問網站服務器,給網站服務器帶來難以負荷的巨大壓力,而后端系統往往硬件資源有限、性能較差,造成網站服務器響應時間極大增加,嚴重時甚至會崩潰、宕機。

網站服務器在處理用戶請求的過程中通常會調用系統處理器、內存、磁盤、網絡等資源,而硬件資源是有限的。少量用戶在使用時,服務器的硬件資源足夠,可以快速處理請求;適量用戶使用時,服務器保持快速響應的同時網站吞吐量達到高峰;當有大量用戶并發時,網站服務器處理的過程中會發生對硬件資源的沖突搶占,導致網站服務器的響應變慢,吞吐量降低。為分析此情況,本文構造了一個可表達在請求總量確定的前提下網站服務器的總處理時間和并發請求數之間關系的模型。

設完成所有請求的總時間為T。設總請求數為Q。設單位時間內完成的請求數為S。則有:

設λ 為用戶的請求速率,則根據服務器處理能力隨用戶請求速率變化可知S為以λ 為變量的函數。由前文的分析可知,存在λ=λ0,使S 最大。下面分別討論λ<λ0和λ>λ0時的變化規律。

當λ<λ0時,相對于服務器的處理能力,此時用戶請求速率較小,因此服務器單位時間內處理用戶請求數僅與單位時間內到達服務器的請求數一致,即

綜合式(2)和式(3),得S 隨λ的變化關系為:

綜上所述,T 隨λ 的變化關系為:

為了形象地觀察T隨λ的變化趨勢,不妨取Q=50000,λ=10,k=1.2,則根據式(5)繪制T 的圖像如圖1 所示。

圖1 Τ 隨λ 的變化圖

由圖1 可知,服務器完成所有請求的總時間T 在用戶請求速率為λ0時最小。根據這一模型,若要解決短時高并發場景下網站服務器遇到的問題,可采取排隊的機制限制并發請求,將到達網站服務器的用戶請求速率控制在λ0附近。

并發控制方法

本文研究一種基于反向代理的針對短時高并發網站的并發控制方法,在反向代理服務器上對用戶請求進行排隊,使得用戶可以有序、平穩地訪問網站服務器。此方法的原理示意圖如圖2 所示。

圖2 方法原理示意圖

但是排隊機制的不同會影響每個用戶的平均逗留時間。為使用戶的平均逗留時間最短,本文以典型的高校選課場景為例構造了關于最小化用戶平均逗留時間的模型。

設選課開始時并發的總人數為m,每人的連續請求數為n,每個請求的平均處理時間為u,網站服務器同時處理k個請求,完成所有請求的總時間為T,則有:

設完成前i 個用戶所有請求的時間為Ti,所有用戶的平均逗留時間為Ts,則

因選課業務是連續的,當第i 個用戶的所有請求完成時,其前面的i-1 個用戶及第i 個用戶的所有請求均已完成,且第i個用戶后面的用戶有可能有請求已完成,則有

所以

所以

圖3 理想情況下用戶請求處理的示意

根據上述結論,本文選擇對用戶會話進行排隊,并建立“處理池”。對先來的用戶將其用戶會話ID 記錄在處理池中,標記為當前具有高優先級的用戶。高優先級用戶服務結束后經過一定的超時時間將從處理池中刪除,下一批用戶則可以開始服務。通過處理池的機制,可以實現將用戶按順序處理,以使得所有用戶的平均逗留時間盡可能短。

綜上所述,此并發控制方法的設計思路是為了使網站服務器同時接受的請求數在其性能可承受的范圍內,即將到達網站服務器的用戶請求速率控制在λ0附近,設計實現一種基于反向代理的針對短時高并發的小型Web 應用系統的并發控制方法。在用戶與網站服務器之間利用反向代理服務器作為緩沖節點,并在其上對用戶會話進行排隊,通過處理池的方式優先處理已經在處理的用戶的請求,并通過隊列長度及網站服務器的平均響應時間動態調節處理池的大小,以調控直接到達網站服務器的用戶請求數,使到達網站服務器的用戶請求速率控制在λ0附近,且使得用戶平均逗留時間盡可能短。

圖4 系統架構

反向代理系統架構

本文所提出的針對短時高并發的小型Web 應用系統的并發控制方法其系統整體架構如圖4 所示,包括響應時間統計模塊、反饋調節模塊以及排隊模塊。

首先,響應時間統計模塊周期性地采集后端網站服務器對每個用戶的每個請求的響應時間,并計算單位時間內網站服務器的平均響應時間;然后,反饋調節模塊根據排隊模塊中正在排隊用戶會話的隊列長度和網站服務器的平均響應時間動態調整處理池的大小,確定排隊模塊的排隊策略;進而,排隊模塊根據當前處理池的大小確定系統輸出的用戶會話數,使后端網站服務器的平均響應時間穩定在用戶可接受的范圍內,實現在盡可能多的用戶接受服務的同時,網站服務器可平穩地度過流量高峰。

圖5 排隊模塊流程

1.響應時間統計模塊

響應時間統計模塊主要負責采集每個用戶的每個請求的響應時間,通過一段時間內采集到的響應時間求出這段時間內用戶的平均響應時間,并將其提供給反饋調節模塊作為調節用戶會話數的依據。

2.排隊模塊

排隊模塊的流程如圖5 所示。

排隊模塊主要負責決定一個用戶的請求應該被正常地轉發到網站服務器還是進行排隊。排隊模塊以用戶的網站session 以及用戶的源IP 地址作為唯一確定用戶的用戶會話ID,并以此為索引對用戶會話進行排隊或放行。位于排隊隊列中的用戶會話ID 對應的HTTP 請求報文在通過排隊模塊時將被拒絕轉發到網站服務器,并進行排隊,位于處理池中的用戶會話ID 相對應的HTTP 請求報文將被轉發到網站服務器。

3.反饋調節模塊

反饋調節模塊的流程如圖6 所示。

反饋調節模塊通過讀取排隊模塊中的隊列長度以及響應時間統計模塊計算出的平均響應時間,來對排隊模塊中的處理池大小進行調節,并以此控制到達網站服務器用戶會話的數量。

圖6 反饋調節模塊流程

反饋調節模塊首先通過隊列長度是否為0,即當前是否有用戶在排隊來判斷當前是否為用戶流量高峰、網站服務器是否可能出現擁塞狀況。在用戶較少的時期,發往網站服務器的請求數較少,因而在反向代理服務器中不會出現排隊的情況,此時隊列長度為0。當訪問網站服務器的用戶逐漸增多,排隊模塊中處理池的大小逐漸無法容納急劇增加的用戶會話ID 數,多余的用戶被轉入排隊隊列中進行排隊。因此當反饋調節模塊檢測到隊列長度不為0 時,將增大排隊模塊中處理池的長度,使得網站服務器既能夠滿足盡可能多用戶的訪問,又可以將平均響應時間控制在合理的范圍內。當用戶流量高峰結束后,訪問網站服務器的用戶會話逐漸減少,處理池內用戶會話ID 數逐漸回落到閑時水平,反饋調節模塊根據系統中設定的空閑等待時間,將處理池的大小調整為初始狀態。

實驗

為驗證本方案的可行性和處理效果,本文設計了一個仿真實驗,其結構圖如圖7 所示。

實驗分為三個部分:測試端、反向代理系統、模擬網站后端。測試端為模擬若干個用戶同時訪問網站服務器的行為,向模擬網站后端短時間內發起大量訪問請求,經由反向代理系統過濾,到達模擬網站后端。使用了一臺服務器部署反向代理系統。模擬網站后端使用一個可以隨著用戶并發請求數的增多而響應時間越來越長的程序來模擬,并部署到一臺服務器上。

圖7 仿真實驗示意圖

為了證明反向代理系統對提升網站服務器效率的有效性,設計了不同請求數同時訪問網站服務器的模擬實驗,即令測試端同時向模擬網站后端發出x 個請求,通過比較經過反向代理進行排隊(實驗組)和未經過反向代理直接訪問(對照組)完成相同數量的請求Q 所需的總時間y 來表明反向代理系統對提升網站服務器的效率是有效的,并通過比較用戶平均逗留時間來表明按用戶會話排隊的機制優于直接排隊。其中,測試端并發請求數x={10,20,30,30L 500},即初值為10、公差為10、最大值為500 的等差數列,總請求數Q=3000,另外設置反向代理系統處理池的初值A0=2,處理池大小的更新頻率為h=5s。

下面進行兩組實驗。

實驗一

分別進行經過反向代理系統進行排隊(實驗組)的壓力實驗和未經過反向代理系統直接訪問(對照組)的壓力實驗。

圖8 為上述實驗的結果。圖中橫坐標為測試端的并發請求數χ,縱坐標為完成所有3000 個請求所用的總時長y,單位為秒,折線上的每一個點即表示該并發請求數下完成所有請求所用的總時長。圖中的兩條折線分別代表測試端未經過反向代理系統對模擬網站后端進行直接訪問(對照組)和經過反向代理系統進行排隊(實驗組)時的實驗結果。

圖8 完成所有請求所需時間對比圖

比較圖中的兩條曲線,可以看出在并發請求數較小的時候,不經過反向代理系統直接訪問模擬網站后端完成所有請求所用的時間較短、效率較高,但是隨著用戶并發量χ 的增加,不經過反向代理系統的模擬網站后端完成所有請求所用的時間迅速上升,而經過反向代理系統的模擬網站后端完成所有請求所用的時間穩定在一定范圍內。

仿真實驗一的結果證明本方法能通過減少后端壓力,有效的提升后端響應速度,來實現服務器效率的提升,符合預期效果。

實驗二

實驗二對比用戶平均逗留時間,分別進行按用戶會話排隊(實驗組)的壓力實驗和直接排隊(對照組)的壓力實驗。

圖9 為用戶平均逗留時間對比實驗圖。圖中橫坐標為測試端的并發請求數,縱坐標為用戶平均逗留時間,每一個柱狀圖的高度即表示該并發請求數下用戶的平均逗留時間。圖中灰色的柱狀代表直接排隊(對照組)的實驗結果,黑色的柱狀代表按用戶會話排隊(實驗組)的實驗結果。實驗圖選取有代表性同時也是本課題高并發場景下的并發請求數為300 至500的區間。

圖9 用戶平均逗留時間對比實驗圖

比較圖中的兩個顏色的柱狀,可以看出在并發請求數相對較小即并發請求數小于380 時,按用戶會話進行排隊的用戶平均逗留時間略小于直接排隊的用戶平均逗留時間。當并發請求數在390以上時,按用戶會話進行排隊的用戶平均逗留時間明顯小于直接排隊的用戶平均逗留時間。并發請求數為400 至500區間時,按用戶會話排隊的用戶平均逗留時間的平均值比直接排隊的用戶平均逗留時間小24%。

仿真實驗二的結果證明本方法通過處理池的方式調節用戶請求的處理優先級,按用戶會話進行排隊,可以使得用戶的平均逗留時間降低,符合預期效果。

針對有偶發性高并發的小型Web應用系統如高校常見的選課系統在短時間內大量用戶訪問網站服務器,導致服務響應慢甚至宕機的問題,本文構造了一種基于反向代理的短時高并發網站的并發控制方法。該方法對用戶會話進行排隊,并通過讀取網站服務器的平均響應時間,動態調整用戶會話的排隊策略,使得后端網站的平均響應時間最小。

仿真實驗結果表明,此方法可以通過減小后端壓力,有效地提升后端響應速度,以實現整體處理效率的提升,并且可以降低用戶的平均逗留時間,達到預期效果。

猜你喜歡
用戶實驗方法
記一次有趣的實驗
做個怪怪長實驗
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 国产午夜一级毛片| 91欧美在线| 国产精品短篇二区| 2020久久国产综合精品swag| 9cao视频精品| 蜜桃臀无码内射一区二区三区 | 日韩欧美中文字幕在线韩免费| 成人va亚洲va欧美天堂| 午夜欧美理论2019理论| 91精品国产自产在线观看| 真实国产乱子伦视频| 亚洲二三区| 无码AV日韩一二三区| 亚洲人成在线免费观看| 波多野结衣视频一区二区| yjizz视频最新网站在线| 欧美一区二区啪啪| 欧美日韩在线亚洲国产人| 亚洲精品va| 伊人查蕉在线观看国产精品| 精品久久久久久久久久久| 欧美日韩高清| 欧洲熟妇精品视频| 2020久久国产综合精品swag| av手机版在线播放| 黄色在线网| 人人91人人澡人人妻人人爽| 亚洲日本中文字幕乱码中文| 97狠狠操| 久久黄色视频影| 天天色综网| 2022国产无码在线| 欧美日韩另类国产| 午夜福利在线观看入口| 综合天天色| 亚洲精品你懂的| 国产免费好大好硬视频| 热热久久狠狠偷偷色男同| 福利在线不卡| 日韩在线播放欧美字幕| 日本高清有码人妻| 国产无遮挡猛进猛出免费软件| 制服丝袜一区二区三区在线| AV不卡无码免费一区二区三区| 亚洲中文字幕在线观看| 99精品久久精品| 40岁成熟女人牲交片免费| 久久情精品国产品免费| 国产精品欧美激情| 丝袜国产一区| 婷婷亚洲视频| 91免费观看视频| 亚洲一级毛片免费看| 成年片色大黄全免费网站久久| 精品一区二区三区视频免费观看| 成人在线欧美| 欧美日韩免费在线视频| 国产成人亚洲毛片| 亚洲AV无码乱码在线观看代蜜桃 | 日本欧美精品| 国产乱肥老妇精品视频| 婷婷六月天激情| 999精品免费视频| 日韩天堂网| 久久女人网| 一级毛片无毒不卡直接观看| 亚洲综合网在线观看| 在线中文字幕网| aa级毛片毛片免费观看久| 国产福利拍拍拍| 午夜a视频| 三级国产在线观看| 久久一级电影| 国产高潮视频在线观看| 波多野结衣一区二区三区AV| 99精品热视频这里只有精品7| 性网站在线观看| 四虎精品国产永久在线观看| 久久精品国产精品国产一区| 日本一区高清| 毛片免费在线| 国产成人精品在线|