如何應用效能測試常用計算公式

2021-09-06 22:05:08 字數 2830 閱讀 4298

如何應用效能測試常用計算公式

1.問題提出

2.問題解答

(1)吞吐量計算公式。

吞吐量(throughput)指的是單位時間內處理的客戶端請求數量,直接體現軟體系統的效能承載能力。通常情況下,吞吐量用"請求數/s"或者"頁面數/s"來衡量。從業務角度來看,吞吐量也可以用"業務數/h"、"業務數/天"、"訪問人數/天"、"頁面訪問量/天"來衡量。從網路角度來看,還可以用"位元組數/h"、"位元組數/天"等來衡量網路的流量。

吞吐量是大型門戶**以及各種電子商務**衡量自身負載能力的乙個很重要的指標,一般吞吐量越大,系統單位時間內處理的資料越多,系統的負載能力也越強。

吞吐量是衡量伺服器承受能力的重要指標。在容量測試中,吞吐量是乙個重點關注的指標,因為它能夠說明系統的負載能力。而且,在效能除錯過程中,吞吐量也具有非常重要的價值,例如,empirix公司在報告中聲稱,在他們所發現的效能問題中,有80%是因為吞吐的限制而引起效能問題。

這裡,f表示吞吐量; 表示併發虛擬使用者個數(concurrency virtual user,併發虛擬使用者),r表示每個vu發出的請求數量,t表示效能測試所用的時間。但如果遇到了效能瓶頸,此時吞吐量和vu數量之間就不再符合給出公式的關係。

(2)併發數量計算公式。

關於併發(concurrency),最簡單的描述就是指多個同時發生的業務操作。例如,100個使用者同時單擊登入頁面的"登入"按鈕操作。通常,應用系統會隨著使用者同時應用某個具體的模組,而導致資源的爭用問題,例如,50個使用者同時執行統計分析的操作,由於統計業務涉及很多資料提取以及科學計算問題,所以這個時候很有可能記憶體和cpu會出現瓶頸。併發性測試描述的是多個客戶端同時向伺服器發出請求,考察伺服器端承受能力的一種效能測試方式。

那麼如何獲得在效能測試過程中大家都很關心的併發使用者數的數值呢?這裡我們給出《軟體效能測試過程詳解與案例剖析》一書中的一些用於估算併發使用者數的公式。

在公式(1)中,c是平均的併發使用者數;n是login session的數量;l是login session的平均長度;t指考察的時間段長度。

公式(2)則給出了併發使用者數峰值的計算公式,其中,c 指併發使用者數的峰值,c就是公式(1)中得到的平均的併發使用者數。該公式的得出是假設使用者的login session產生符合泊松分布而估算得到的。

下面給出乙個例項來講述公式的應用。假設有乙個oa系統,該系統有3000個使用者,平均每天大約有400個使用者要訪問該系統,對乙個典型使用者來說,一天之內使用者從登入到退出系統平均時間為4h,在一天的時間內,使用者只在8小時內使用該系統。則根據公式(1)和公式(2),可以得到 , 。

除了上述方法以外,還有一種應用更為廣泛的估算方法,當然這種方法的精度較差,這種公式的計算是由平時經驗的積累而得到,相應經驗公式為: (公式(3))和 (公式(4))。通常,用訪問系統使用者最大數量的10%作為平均的併發使用者數,併發使用者數的最大數量可以通過在併發數上乘以乙個調整因子r得到,r的取值在不同的行業可能會有所不同,通常r的取值為2~3。系統使用者最大數量可以通過系統操作日誌或者系統全域性變數分析得到,在沒有系統日誌等手段得到時,也可以根據同型別的**分析或者估算得到(當然這種方法存在著一定的偏差,讀者應該酌情選擇),現在有很多**提供非常好的**訪問量統計,如

(我要啦免費統計**),使用者可以申請乙個賬戶,而後把該**提供的**嵌入**,就可以通過訪問"我要啦免費統計**"來檢視每天的訪問量、每月的訪問量等資訊。r(調整因子)的確定不是一朝一夕就可以得到,通常需要根據多次效能測試的資料,才能夠確定比較準確的取值。所以,大家在平時進行併發測試過程中,一定要注意資料的積累,針對本行業的特點,確定乙個比較合理的r值。如果能知道平均每個使用者發出的請求數量(假設為 ),則系統接受的總的請求數量就可以通過 估算出來,這個值也就是我們平時所說的吞吐量。

(3)思考時間計算公式。

思考時間(think time)是在錄製指令碼過程中,每個請求之間的時間間隔,也就是操作過程中停頓的時間。在實際應用系統時,不會乙個接乙個地不停的傳送請求,通常在發出乙個請求以後,都會停頓一定的時間,來傳送下乙個請求。

為了真實的描述使用者操作的實際場景,在錄製指令碼的過程中,通常,loadrunner也會錄製這些思考時間,在指令碼中lr_think_time()函式就是實現前面所說的思考時間,它實現了在兩個請求之間的停頓。

在實際效能測試過程中,作為一名效能測試人員,可能非常關心怎樣設定思考時間才能夠跟實際情況最合理。其實,思考時間與迭代次數、併發使用者數以及吞吐量存在一定的關係。

如   (公式(5))說明吞吐量是vu數量 、每個使用者發出請求數 和時間 的函式,而其中的 又可以用時間 和使用者的思考時間 來計算得出, (公式(6)),用公式(5)和公式(6)進行化簡運算可得,吞吐量與 成正比,而與 成反比。

那麼,究竟怎樣選擇合適的思考時間呢?下面給出乙個計算思考時間的一般步驟。

① 計算出系統的併發使用者數。

② 統計出系統平均的吞吐量。

③ 統計出平均每個使用者發出的請求數量。

④ 根據公式(6)計算出思考時間。

為了使效能測試的場景更加符合真實的情況,可以考慮在公式(6)的基礎上再乘以乙個比例因子或者指定乙個動態隨機變化的範圍來**實際情況。

經常會看到有很多做效能測試對是否引入思考時間在網路上的爭論,在這裡筆者認為思考時間是為了模擬真實的操作而應運而生,所以如果您要模擬真實場景的效能測試建議還是應用思考時間。但是,如果要考察乙個系統能夠處理的壓力-極限處理能力,則可以將思考時間刪除或者注釋掉,從而起到最大限度的傳送請求,考察系統極限處理能力的目的。

via:

如何應用效能測試常用計算公式

如何應用效能測試常用計算公式 1 問題提出 2 問題解答 1 吞吐量計算公式。吞吐量 throughput 指的是單位時間內處理的客戶端請求數量,直接體現軟體系統的效能承載能力。通常情況下,吞吐量用 請求數 s 或者 頁面數 s 來衡量。從業務角度來看,吞吐量也可以用 業務數 h 業務數 天 訪問人...

向量的常用計算公式

在3d數學中,不用關心向量的數學意義,只關心向量的幾何意義.向量v w 1.向量變負 結果 v 幾何意義 得到乙個方向相反,大小相等的向量 2.向量的模 向量的大小或者向量的長度 結果 v x 2 y 2 z 2 幾何意義 得到向量的長度 3.向量 標量 無效4.向量 標量 無效5.向量 標量 結果...

三刺激值計算公式 數控車床常用計算公式

國外螺紋的代號和標註識別 1.英製螺紋 螺紋牙型角55度 bsw 英國標準惠氏螺紋 粗牙 bsf 英國標準惠氏螺紋 細牙 r 錐管外螺紋 舊代號zg kg rc 錐管內螺紋 舊代號zg kg g 直管螺紋 外螺紋分a b兩面級,絲錐分g g d 2.美制螺紋 螺紋牙型60度 unc 統一制粗牙螺紋 ...