當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]排隊(duì)理論是數(shù)學(xué)的一個(gè)分支,它分析系統(tǒng)中等待線(隊(duì)列)的形成和行為方式。在非功能性軟件測(cè)試中,它提供了一種寶貴的工具來(lái)了解系統(tǒng)在不同負(fù)載下的性能。通過(guò)分析隊(duì)列長(zhǎng)度、等待時(shí)間和服務(wù)器利用率,排隊(duì)模型可以幫助預(yù)測(cè)潛在的瓶頸和性能問(wèn)題,防止它們?cè)趯?shí)際使用中發(fā)生。

排隊(duì)理論是數(shù)學(xué)的一個(gè)分支,它分析系統(tǒng)中等待線(隊(duì)列)的形成和行為方式。在非功能性軟件測(cè)試中,它提供了一種寶貴的工具來(lái)了解系統(tǒng)在不同負(fù)載下的性能。通過(guò)分析隊(duì)列長(zhǎng)度、等待時(shí)間和服務(wù)器利用率,排隊(duì)模型可以幫助預(yù)測(cè)潛在的瓶頸和性能問(wèn)題,防止它們?cè)趯?shí)際使用中發(fā)生。

本文首先介紹非功能性軟件測(cè)試排隊(duì)理論的基礎(chǔ)知識(shí)。本文將討論其優(yōu)點(diǎn)和局限性。作為案例研究,我們將探討可能適用于移動(dòng)游戲應(yīng)用程序的排隊(duì)模型樣本。最后,我們將探討一組可用的工具及其優(yōu)缺點(diǎn)。

排隊(duì)論中的關(guān)鍵概念

排隊(duì)理論提供了可用于非功能測(cè)試的數(shù)學(xué)模型。首先,我們將解釋基本的排隊(duì)概念,以了解如何使用它們。

· 到達(dá)率(λ):這是指單位時(shí)間內(nèi)進(jìn)入系統(tǒng)的任務(wù)或請(qǐng)求的平均數(shù)量。例如,它可以表示每分鐘到達(dá)銀行的顧客數(shù)量或每秒到達(dá)路由器的網(wǎng)絡(luò)數(shù)據(jù)包數(shù)量。

· 服務(wù)時(shí)間 (μ):這表示資源完成任務(wù)所需的平均時(shí)間。在銀行中,它可能是柜員與客戶(hù)打交道的平均時(shí)間。在網(wǎng)絡(luò)中,它可能是處理數(shù)據(jù)包所需的平均時(shí)間。

· 隊(duì)列長(zhǎng)度(L):指任意時(shí)刻等待服務(wù)的任務(wù)數(shù)量,與到達(dá)率、服務(wù)時(shí)間、可用資源數(shù)量直接相關(guān)。

· 服務(wù)器數(shù)量 (S):這是指可用于處理任務(wù)的資源。在銀行中,它是指可用于服務(wù)客戶(hù)的柜員數(shù)量。在網(wǎng)絡(luò)中,它可能是服務(wù)器中的處理核心數(shù)量或可用的網(wǎng)絡(luò)通道數(shù)量。

· 隊(duì)列規(guī)則: 這定義了如何從隊(duì)列中選擇任務(wù)進(jìn)行服務(wù)。一些常見(jiàn)的規(guī)則包括:

o 先進(jìn)先出 (FIFO):最先進(jìn)入隊(duì)列的任務(wù)最先得到服務(wù)。這通常用于結(jié)賬隊(duì)伍或候診室等場(chǎng)合。

o 優(yōu)先級(jí)隊(duì)列:某些任務(wù)被分配更高的優(yōu)先級(jí),即使低優(yōu)先級(jí)任務(wù)到達(dá)得更早,也會(huì)先于低優(yōu)先級(jí)任務(wù)得到處理。這適用于某些任務(wù)至關(guān)重要且需要立即關(guān)注的情況。

o 最短處理時(shí)間 (SPT):預(yù)期服務(wù)時(shí)間最短的任務(wù)將首先得到處理。這有利于最大程度地減少總體平均等待時(shí)間。

非功能測(cè)試中的應(yīng)用

非功能性軟件測(cè)試的應(yīng)用示例包括以下內(nèi)容:

負(fù)載測(cè)試

通過(guò)基于排隊(duì)模型模擬具有特定到達(dá)率和服務(wù)時(shí)間的實(shí)際用戶(hù)負(fù)載,負(fù)載測(cè)試工具可以評(píng)估系統(tǒng)在壓力下的性能。這有助于識(shí)別潛在的瓶頸,例如服務(wù)器過(guò)載、數(shù)據(jù)庫(kù)查詢(xún)緩慢或代碼執(zhí)行效率低下。通過(guò)分析負(fù)載測(cè)試期間的隊(duì)列長(zhǎng)度和等待時(shí)間,您可以確定系統(tǒng)存在問(wèn)題的區(qū)域并在部署之前實(shí)施改進(jìn)。

容量規(guī)劃

排隊(duì)理論模型可以與測(cè)試工具集成,以確定系統(tǒng)的臨界點(diǎn)或最佳資源分配。該模型可以預(yù)測(cè)系統(tǒng)在不同數(shù)量的服務(wù)器下的表現(xiàn),讓您找到足夠的性能和經(jīng)濟(jì)高效的資源利用率之間的最佳平衡點(diǎn)。這有助于確保系統(tǒng)能夠處理預(yù)期的用戶(hù)流量,而不會(huì)影響性能或因過(guò)度配置而產(chǎn)生不必要的成本。

性能基準(zhǔn)測(cè)試

排隊(duì)模型可用于比較不同系統(tǒng)配置或架構(gòu)的性能。通過(guò)在不同系統(tǒng)設(shè)置上模擬相同的工作負(fù)載,您可以評(píng)估哪種配置在等待時(shí)間和服務(wù)器利用率方面提供最佳性能。這在選擇不同的硬件或軟件選項(xiàng)時(shí)特別有用。

排隊(duì)論中的其他有用概念

利特爾定律

排隊(duì)理論中的這一基本關(guān)系表明,系統(tǒng)中的平均任務(wù)數(shù) (L) 等于平均到達(dá)率 (λ) 乘以平均等待時(shí)間 (W)。如果您知道另外兩個(gè)值,那么您就可以估算其中一個(gè)值。

Kendall-Lee 表示法

此符號(hào)是基于到達(dá)分布、服務(wù)分布、服務(wù)器數(shù)量和排隊(duì)規(guī)則來(lái)描述排隊(duì)系統(tǒng)的標(biāo)準(zhǔn)化方法。理解此符號(hào)有助于對(duì)不同的排隊(duì)模型進(jìn)行分類(lèi)并選擇合適的模型進(jìn)行分析。

開(kāi)放與封閉排隊(duì)系統(tǒng)

開(kāi)放排隊(duì)系統(tǒng)允許任務(wù)進(jìn)入和離開(kāi)系統(tǒng)。封閉排隊(duì)系統(tǒng)有固定數(shù)量的任務(wù)在系統(tǒng)內(nèi)循環(huán)。選擇正確的模型取決于所分析的系統(tǒng)。

使用排隊(duì)理論的局限性

和所有理論一樣,排隊(duì)理論也是基于假設(shè)的。我們?cè)诜枪δ軠y(cè)試中使用排隊(duì)理論所能獲得的好處很大程度上取決于這些假設(shè)的現(xiàn)實(shí)程度。

簡(jiǎn)化假設(shè)

排隊(duì)模型通常依賴(lài)于簡(jiǎn)化假設(shè),以使數(shù)學(xué)變得易于處理。這些假設(shè)包括:

· 穩(wěn)定的到達(dá)率和服務(wù)時(shí)間:現(xiàn)實(shí)世界的系統(tǒng)可能會(huì)經(jīng)歷到達(dá)率和服務(wù)時(shí)間的波動(dòng)。排隊(duì)模型可能無(wú)法準(zhǔn)確反映這種動(dòng)態(tài)行為。

· 無(wú)限隊(duì)列:實(shí)際上,隊(duì)列的容量可能是有限的。如果隊(duì)列滿(mǎn)了,新來(lái)者可能會(huì)被拒絕,從而導(dǎo)致系統(tǒng)不穩(wěn)定。有限隊(duì)列的排隊(duì)模型可能更復(fù)雜,但可以提供更現(xiàn)實(shí)的表示。

移動(dòng)游戲案例

移動(dòng)游戲,尤其是那些具有在線多人游戲組件或微交易系統(tǒng)的游戲,通常涉及我們可以使用排隊(duì)理論建模的交互。我們將分析一系列適用于移動(dòng)游戲的可能排隊(duì)模型。該列表并不詳盡,但它可以解釋使用不同模型的理由及其好處。

1. 具有網(wǎng)絡(luò)延遲的 M/M/1 排隊(duì)系統(tǒng)

在具有在線多人游戲功能的手機(jī)游戲中,玩家可以連接到中央服務(wù)器以相互交互。此場(chǎng)景可以建模為 M/M/1 排隊(duì)系統(tǒng),其中玩家是到達(dá)的實(shí)體,服務(wù)器充當(dāng)單個(gè)服務(wù)器。

將網(wǎng)絡(luò)延遲納入模型后,開(kāi)發(fā)人員可以分析延遲對(duì)玩家體驗(yàn)的影響并設(shè)計(jì)緩解策略。了解排隊(duì)行為有助于優(yōu)化服務(wù)器容量和網(wǎng)絡(luò)基礎(chǔ)設(shè)施,以最大限度地減少延遲并增強(qiáng)游戲體驗(yàn)。

2. 游戲內(nèi)購(gòu)買(mǎi)采用 M/G/1 排隊(duì)系統(tǒng)

手機(jī)游戲通常包含游戲內(nèi)商店,玩家可以使用真實(shí)或虛擬貨幣進(jìn)行購(gòu)買(mǎi)。購(gòu)買(mǎi)請(qǐng)求的到達(dá)和處理這些交易的服務(wù)時(shí)間可能不遵循 M/M/1 系統(tǒng)典型的指數(shù)分布。

M/G/1 排隊(duì)系統(tǒng)(其中服務(wù)時(shí)間分布是廣義的)可能更適合對(duì)游戲內(nèi)購(gòu)買(mǎi)交易進(jìn)行建模。分析此模型有助于游戲開(kāi)發(fā)者優(yōu)化支付處理系統(tǒng)、簡(jiǎn)化交易流程并有效管理服務(wù)器資源。

3. 有限資源的有限源排隊(duì)模型

許多手機(jī)游戲的資源有限,例如虛擬物品、游戲等級(jí)或服務(wù)器容量。玩家可能需要排隊(duì)才能訪問(wèn)這些資源,尤其是在高峰使用時(shí)段。

有限源排隊(duì)模型,例如 M/M/c/K 模型(具有 c 個(gè)服務(wù)器和大小為 K 的有限隊(duì)列),適用于分析資源可用性受限的場(chǎng)景。通過(guò)了解隊(duì)列動(dòng)態(tài)和資源利用率,開(kāi)發(fā)人員可以實(shí)施策略來(lái)平衡資源分配、減少等待時(shí)間并優(yōu)化玩家滿(mǎn)意度。

4. 用于匹配的動(dòng)態(tài)排隊(duì)模型

匹配算法對(duì)于確保多人移動(dòng)游戲中平衡且愉快的游戲體驗(yàn)至關(guān)重要。這些算法通常涉及排隊(duì)機(jī)制,以匹配具有相似技能水平或偏好的玩家。

動(dòng)態(tài)排隊(duì)模型(例如具有動(dòng)態(tài)到達(dá)率的 M/M/1/K 隊(duì)列或具有可變服務(wù)率的 Erlang 排隊(duì)模型)可用于優(yōu)化匹配系統(tǒng)。通過(guò)根據(jù)玩家行為動(dòng)態(tài)調(diào)整隊(duì)列參數(shù),游戲開(kāi)發(fā)者可以實(shí)現(xiàn)更快、更公平的匹配結(jié)果。這可能會(huì)提高玩家的參與度和留存率。

排隊(duì)理論拯救了發(fā)布日

一家移動(dòng)游戲開(kāi)發(fā)公司正準(zhǔn)備發(fā)布備受期待的最新游戲。根據(jù)預(yù)注冊(cè)人數(shù)和社交媒體熱議,他們預(yù)計(jì)發(fā)布當(dāng)天將有大量玩家涌入。他們擔(dān)心兩個(gè)問(wèn)題:確保所有用戶(hù)都能流暢地玩游戲,并避免服務(wù)器因過(guò)載而崩潰。

開(kāi)發(fā)團(tuán)隊(duì)決定使用排隊(duì)理論來(lái)創(chuàng)建他們的游戲服務(wù)器基礎(chǔ)設(shè)施模型。

模型推導(dǎo)

他們將游戲服務(wù)器系統(tǒng)確定為 M/M/c 排隊(duì)系統(tǒng),這意味著:

· M:玩家到達(dá)遵循泊松分布(隨機(jī)且獨(dú)立)。

· M:處理玩家請(qǐng)求(例如加入游戲、更新游戲狀態(tài))所需的時(shí)間遵循泊松分布(隨機(jī)且獨(dú)立)。

· c:表示可用的游戲服務(wù)器數(shù)量(充當(dāng)多個(gè)隊(duì)列)

關(guān)鍵績(jī)效指標(biāo)

他們利用排隊(duì)理論公式計(jì)算出以下指標(biāo):

· 到達(dá)率(λ):根據(jù)預(yù)注冊(cè)數(shù)據(jù)和類(lèi)似游戲發(fā)布的行業(yè)基準(zhǔn)進(jìn)行估算

· 服務(wù)時(shí)間(μ):通過(guò)分析內(nèi)部測(cè)試期間處理玩家請(qǐng)求的平均時(shí)間來(lái)衡量

· 服務(wù)器利用率 (ρ): ρ = λ / (c * μ)。此指標(biāo)表示每臺(tái)服務(wù)器的平均繁忙程度。

模型分析

該模型的關(guān)鍵方面是了解服務(wù)器利用率(ρ)如何隨著不同的服務(wù)器配置(服務(wù)器數(shù)量“c”)而變化。

· 服務(wù)器利用率高 (ρ > 0.8):表示服務(wù)器超載,導(dǎo)致排隊(duì)延遲、游戲速度變慢以及崩潰風(fēng)險(xiǎn)增加

· 服務(wù)器利用率低(ρ < 0.5):表示服務(wù)器利用率不足,這可能成本效率低,但能確保游戲流暢

采取行動(dòng)

利用排隊(duì)模型,團(tuán)隊(duì)進(jìn)行了一系列測(cè)試:

場(chǎng)景 1:現(xiàn)有服務(wù)器配置

該模型預(yù)測(cè)在高峰發(fā)布時(shí)段服務(wù)器利用率將超過(guò) 80%,這可能會(huì)導(dǎo)致性能問(wèn)題并讓玩家感到沮喪。

場(chǎng)景 2:增加 20% 的服務(wù)器

該模型顯示利用率下降至約 65%,這顯著提高了性能,同時(shí)為意外的玩家激增保留了一些緩沖。

場(chǎng)景 3:服務(wù)器數(shù)量增加一倍

利用率進(jìn)一步下降至 40% 左右,但如果玩家增長(zhǎng)速度低于預(yù)期,額外的服務(wù)器成本可能就不合理。

決策

根據(jù)模型的預(yù)測(cè),團(tuán)隊(duì)決定在現(xiàn)有基礎(chǔ)設(shè)施上增加 20% 的服務(wù)器。這在不產(chǎn)生過(guò)多成本的情況下顯著提高了性能。此外,他們實(shí)施了自動(dòng)擴(kuò)展規(guī)則,當(dāng)玩家流量超過(guò)預(yù)定義的閾值時(shí),會(huì)自動(dòng)配置額外的服務(wù)器。

結(jié)果

發(fā)布日到來(lái)后,公司發(fā)現(xiàn)新游戲的玩家數(shù)量創(chuàng)下了歷史新高。不過(guò),得益于排隊(duì)模型和主動(dòng)服務(wù)器擴(kuò)展,服務(wù)器能夠高效處理負(fù)載。玩家可以流暢地玩游戲,不會(huì)出現(xiàn)重大延遲或崩潰。

工具選擇

有多種測(cè)試工具可用,它們都采用了排隊(duì)理論原理。選擇正確的工具取決于系統(tǒng)的復(fù)雜性、所需的詳細(xì)程度以及特定的測(cè)試目標(biāo)。以下列表絕不是詳盡無(wú)遺的。

· 帶有排隊(duì)模型插件的 Microsoft Excel:

o 優(yōu)點(diǎn):免費(fèi),大多數(shù)用戶(hù)都可以使用,基本公式易于學(xué)習(xí)

o 缺點(diǎn):功能有限,復(fù)雜模型容易出錯(cuò),不適合大規(guī)模測(cè)試

· 在線排隊(duì)模型計(jì)算器:

o 優(yōu)點(diǎn):免費(fèi)、用戶(hù)友好的界面,適合快速估算

o 缺點(diǎn):模型選項(xiàng)有限,可能無(wú)法捕捉特定的系統(tǒng)細(xì)節(jié),定制有限

· JMeter:

o 優(yōu)點(diǎn):開(kāi)源、強(qiáng)大的負(fù)載測(cè)試能力,支持用戶(hù)負(fù)載模擬的基本排隊(duì)理論集成

o 缺點(diǎn):設(shè)置排隊(duì)模型可能很復(fù)雜,需要高級(jí)功能的腳本知識(shí)

· Apache JMeter 插件-排隊(duì)理論:

o 優(yōu)點(diǎn):使用排隊(duì)理論模型擴(kuò)展 JMeter 功能,允許分析服務(wù)器利用率和等待時(shí)間

o 缺點(diǎn):依賴(lài)于 JMeter 的學(xué)習(xí)曲線,排隊(duì)功能需要額外的配置

· AppDynamics

o 優(yōu)點(diǎn):具有良好用戶(hù)界面的商業(yè)工具,提供具有排隊(duì)理論見(jiàn)解(隊(duì)列長(zhǎng)度、等待時(shí)間)的性能監(jiān)控

o 缺點(diǎn):基于訂閱的費(fèi)用,可能需要培訓(xùn)才能使用高級(jí)功能

· AnyLogic:

o 優(yōu)點(diǎn):強(qiáng)大的模擬軟件,與排隊(duì)模型集成以創(chuàng)建復(fù)雜的場(chǎng)景,提供詳細(xì)的性能報(bào)告

o 缺點(diǎn):學(xué)習(xí)難度較高,需要建模專(zhuān)業(yè)知識(shí),商業(yè)許可成本較高

總結(jié)

排隊(duì)理論是優(yōu)化各種軟件開(kāi)發(fā)場(chǎng)景中的性能和資源分配的寶貴選擇。通過(guò)了解核心排隊(duì)模型及其局限性,開(kāi)發(fā)團(tuán)隊(duì)可以利用測(cè)試工具。他們可以分析服務(wù)器利用率,識(shí)別潛在瓶頸并做出數(shù)據(jù)驅(qū)動(dòng)的決策。我們的任務(wù)可能是確保移動(dòng)游戲發(fā)布的流暢性,為快速發(fā)展的公司優(yōu)化基礎(chǔ)設(shè)施,或者只是為應(yīng)用程序選擇最佳的云平臺(tái)。無(wú)論如何,排隊(duì)理論可以讓開(kāi)發(fā)人員駕馭系統(tǒng)負(fù)載的復(fù)雜性并創(chuàng)造無(wú)縫的用戶(hù)體驗(yàn)。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉