標籤:
一、軟體效能的關注點
對一個軟體做效能測試時需要關注那些效能呢?
我們想想在軟體設計、部署、使用、維護中一共有哪些角色的參與,然後再考慮這些角色各自關注的效能點是什麼,作為一個軟體效能測試工程師,我們又該關注什嗎?
首先,開發軟體的目的是為了讓使用者使用,我們先站在使用者的角度分析一下,使用者需要關注哪些效能。
對於使用者來說,當點擊一個按鈕、連結或發出一條指令開始,到系統把結果已使用者感知的形式展現出來為止,這個過程所消耗的時間是使用者對這個軟體效能的直觀印象。也就是我們所說的回應時間,當相應時間較小時,使用者體驗是很好的,當然使用者體驗的回應時間包括個人主觀因素和客觀回應時間,在設計軟體時,我們就需要考慮到如何更好地結合這兩部分達到使用者最佳的體驗。如:使用者在大資料量查詢時,我們可以將先提取出來的資料展示給使用者,在使用者看的過程中繼續進行資料檢索,這時使用者並不知道我們後台在做什麼。
使用者關注的是使用者操作的相應時間。
其次,我們站在管理員的角度考慮需要關注的效能點。
1、 相應時間
2、 伺服器資源使用方式是否合理
3、 應用伺服器和資料庫資源使用是否合理
4、 系統能否實現擴充
5、 系統最多支援多少使用者訪問、系統最大業務處理量是多少
6、 系統效能可能存在的瓶頸在哪裡
7、 更換那些裝置可以提高效能
8、 系統能否支援7×24小時的業務訪問
再次,站在開發(設計)人員角度去考慮。
1、 架構設計是否合理
2、 資料庫設計是否合理
3、 代碼是否存在效能方面的問題
4、 系統中是否有不合理的記憶體使用量方式
5、 系統中是否存在不合理的線程同步方式
6、 系統中是否存在不合理的資源競爭
那麼站在效能測試工程師的角度,我們要關注什麼呢?
一句話,我們要關注以上所有的效能點。
二、軟體效能的幾個主要術語
1、回應時間:對請求作出響應所需要的時間
網路傳輸時間:N1+N2+N3+N4
應用伺服器處理時間:A1+A3
資料庫伺服器處理時間:A2
回應時間=N1+N2+N3+N4+A1+A3+A2
2、並發使用者數的計算公式
系統使用者數:系統額定的使用者數量,如一個OA系統,可能使用該系統的使用者總數是5000個,那麼這個數量,就是系統使用者數。
同時線上使用者數:在一定的時間範圍內,最大的同時線上使用者數量。
同時線上使用者數=每秒請求數RPS(輸送量)+並發串連數+平均使用者考慮時間
平均並發使用者數的計算:C=nL / T
其中C是平均的並發使用者數,n是平均每天訪問使用者數(login session),L是一天內使用者從登入到退出的平均時間(login session的平均時間),T是考察時間長度(一天內多長時間有使用者使用系統)
並發使用者數峰值計算:C^約等於C + 3*根號C
其中C^是並發使用者峰值,C是平均並發使用者數,該公式遵循泊松分布理論。
3、輸送量的計算公式
指單位時間內系統處理使用者的請求數
從業務角度看,輸送量可以用:請求數/秒、頁面數/秒、人數/天或處理業務數/小時等單位來衡量
從網路角度看,輸送量可以用:位元組/秒來衡量
對於互動式應用來說,輸送量指標反映的是伺服器承受的壓力,他能夠說明系統的負載能力
以不同方式表達的輸送量可以說明不同層次的問題,例如,以位元組數/秒方式可以表示數要受網路基礎設施、伺服器架構、應用伺服器制約等方面的瓶頸;已請求數/秒的方式表示主要是受應用伺服器和應用代碼的制約體現出的瓶頸。
當沒有遇到效能瓶頸的時候,輸送量與虛擬使用者數之間存在一定的聯絡,可以採用以下公式計算:F=VU * R /
其中F為輸送量,VU表示虛擬使用者個數,R表示每個虛擬使用者發出的請求數,T表示效能測試所用的時間
4、效能計數器
是描述伺服器或作業系統效能的一些資料指標,如使用記憶體數、進程時間,在效能測試中發揮著“監控和分析”的作用,尤其是在分析統統可擴充性、進行新能瓶頸定位時有著非常關鍵的作用。
資源使用率:指系統各種資源的使用方式,如cpu佔用率為68%,記憶體佔用率為55%,一般使用“資源實際使用/總的資源可用量”形成資源使用率。
5、考慮時間的計算公式
Think Time,從業務角度來看,這個時間指使用者進行操作時每個請求之間的時間間隔,而在做新能測試時,為了類比這樣的時間間隔,引入了考慮時間這個概念,來更加真實的類比使用者的操作。
在輸送量這個公式中F=VU * R / T說明輸送量F是VU數量、每個使用者發出的請求數R和時間T的函數,而其中的R又可以用時間T和使用者考慮時間TS來計算:R = T / TS
下面給出一個計算考慮時間的一般步驟:
A、首先計算出系統的並發使用者數
C=nL / T F=R×C
B、統計出系統平均的輸送量
F=VU * R / T R×C = VU * R / T
C、統計出平均每個使用者發出的請求數量
R=u*C*T/VU
D、根據公式計算出考慮時間
TS=T/R
(轉自 http://www.ha97.com/5095.html)
軟體效能測試的基本概念和計算公式(轉寄)