性能測試的幾個指標(一)


吞吐量/處理能力
處理能力又叫吞吐量,指的是單位時間內處理的客戶端請求數量。通常情況下,吞吐量用請求數/秒 Or 頁面數/秒來衡量。從業務角度看,吞吐量也可以用訪問人數/天Or頁面訪問量/天來衡量。

負載
負載分為客戶端負載和服務器端負載客戶端負載的通俗解釋就是有多少個用戶在同時使用軟件服務器端負載的通俗解釋就是有多少個請求同時到達了服務器端,要求服務器進行處理。例如,某個網站當前有10000個人在線訪問,從他們的客戶端層面看過去,這個負載就是客戶端負載,為10000。若某個網站當前有10000個人在線訪問,某一時刻,從他們的客戶端同時發出了1000個頁面的請求到服務器,從服務器端層面看過去,這個負載就是服務器端負載,為1000。

響應時間
響應時間是可以判斷一個被測應用系統是否存在性能瓶頸的最直觀的要素。例如,在執行完性能測試后,發現某個交易的“平均響應時間”為8秒,超過了預先確定下來的性能指標“該交易的性能指標為平均響應時間要小於等於3秒”。此時,就可以認為被測應用系統存在性能瓶頸了,要利用一定的手段去探查被測應用系統中哪個地方引起了系統的處理效率低以及低的原因了。響應時間一般包括最大響應時間和平均響應時間,響應時間包括網絡上的傳輸時間,WEB服務器上處理時間、APP服務器上的處理時間、DB服務器上的處理時間,響應時間不包括瀏覽器上的內容顯示時間。

同時在線用戶
對於一個網站來講,當一個用戶登錄到該網站的首頁后,開始在該網站上進行各種操作,包括瀏覽網頁、檢索內容、提交表單等,這個過程中的用戶稱為在線用戶。若同一時間點或同一個時間段內,有很多這樣的用戶在訪問該網站,這些用戶統稱為該網站的同時在線用戶。同時在線用戶的另一層理解是,將應用系統整體看作是一個黑盒子,從用戶的客戶端層面看向系統,總共有多少個人在使用它。當進行性能測試時,如果你使用的是同時在線用戶,則可以稱之為同時在線負載。

超級並發用戶
對於一個網站來講,可能存在WEB服務器、應用服務器、數據庫服務器三個層次,而用戶所使用的瀏覽器是在最外面的客戶端層面。如果某個時間點或時間段內,共有1000個用戶同時在線,他們進行着各種各樣的操作,而某個時間點上可能存在10個左右的用戶同時進行了一個或多個操作,導致WEB服務器同時接收到了10個左右的交易請求,我們稱這個10個左右的用戶為超級並發用戶。當進行性能測試時,如果你使用的是超級並發用戶,則可以稱之為超級並發負載。

性能測試腳本
腳本是用負載模擬工具開發出來的。腳本是一些代碼的組合體,它用代碼來實現用戶對應用系統的操作。例如,你在一個網站上訪問首頁、輸入用戶名和密碼后點擊登錄按鈕進行登錄,這是用戶對應用系統的兩步操作內容,在腳本中則包含了實現這兩個操作步驟的代碼。如果你要模擬10000個用戶的負載,這10000個用戶中50%進行首頁的訪問、20%進行注冊、20%進行查詢、10%進行某個頁面的瀏覽,則你需要制作5個腳本,分別是首頁訪問腳本、注冊腳本、查詢腳本、頁面瀏覽腳本。

事務 
事務是腳本的一個特性,每個事務都包含開始事務和結束事務。事務用來衡量腳本中一行代碼或多行代碼的執行所耗費的時間。你可以將開始事務放置在腳本中某行代碼的前面,將結束事務放置在該行代碼的后面,在該腳本的虛擬用戶運行時,這個事務將衡量該行代碼的執行花費了多長時間。

交易
交易分為業務層面和技術層面兩種定義。業務層面交易是指完成一次完整的業務操作,例如進行一次取款、查詢操作。技術層面的交易是指進行一次應用程序至應用程序、或者應用程序至數據庫的系統操作。一般的一筆業務交易由多筆技術交易組成,根據業務交易的復雜度和系統應用架構的不同,其比例大致為1:2-1:10。

TPS與HPS
TPS (Transactions Per Second)是估算應用系統性能的重要依據。其意義是應用系統每秒鍾處理完成的交易數量,尤其是交易類系統。一般的,評價系統性能均以每秒鍾完成的技術交易的數量來衡量。系統整體處理能力取決於處理能力最低模塊的TPS值。依據經驗,應用系統的處理能力一般要求在10-100左右。不同應用系統的TPS有着十分大的差別,一般需要通過性能測試進行准確估算。當系統沒有達到性能瓶頸時,TPS隨着負載的增加呈近似線性增長,當接近性能瓶頸時出現拐點;如果系統健壯性較好,在到達性能瓶頸后,TPS基本保持水平,不會再隨着負載的增加而有顯著增長;而如果系統存在比較嚴重的性能問題,當到達性能瓶頸后,TPS會出現明顯的下降趨勢。HPS:(Hits per Second)每秒點擊次數,是指在一秒鍾的時間內用戶對Web頁面的鏈接、提交按鈕等點擊總和它一般和TPS成正比關系,是B/S系統中非常重要的性能指標之一。
TPS可以有多種衡量單位,在進行性能測試的業務模型分析時使用,例如:
(1)在稅務系統中,可以用“系統每個月要處理10萬用戶的業務操作”,這里的TPS用企業數/月來衡量;(2)在稅務系統中,也可以用“系統在第七天的8個小時內要處理4萬用戶的業務操作”,這里的TPS用企業數/天來衡量;(3)在稅務系統中,也可以用“系統在第七天的10點到11點之間要處理1.2萬用戶的3種繳稅交易操作,即3.6萬次繳稅交易操作”,這里的TPS用交易數/小時來衡量;(4)在稅務系統中,也可以用“系統在第七天的10點到11點之間要處理1.2萬用戶的3種繳稅交易操作,即3.6萬次繳稅交易操作,每次繳稅交易要從客戶端向服務器發送平均10次HTTP請求,即36萬次HTTP請求操作”,這里的TPS用請求數/小時來衡量。
HPS是用來衡量很多用戶使用客戶端進行操作,向服務器發送請求的效率。我們認為HPS表現的是最終用戶的整體行為,是衡量在線負載程度的一個指標。而TPS表現的是服務器端的程序行為,是衡量服務器處理能力高低的一個主要指標。
例如:HPS=“點擊次數/秒”;TPS=“處理事務數/秒”,HPS與TPS沒有絕對的關系。

性能測試實現的准確性
在進行了正確的性能測試分析后,獲得了正確的性能測試需求,從而使用性能測試工具開發相應的性能測試腳本、開發相應的性能測試場景、在性能測試腳本中利用性能測試數據、在性能測試腳本中設置相應的思考時間、在性能測試場景中設置運行的參數等,以期能利用自動化的性能測試工具模擬現實中大量用戶同時訪問被測系統的情形。即,如果性能測試工具操作不當,將會導致無法准確的實現“模擬實際情況”的目標。例如,某些性能測試工程師在使用性能測試工具時不懂得利用“檢查點”這個功能,從而無法發現在性能測試執行過程中大量虛擬用戶甚至沒有登陸到系統中的嚴重問題,仍然認為性能測試執行效果良好,被測系統性能沒有問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM