[轉]API性能測試基本性能指標及要求


原文鏈接http://blog.csdn.net/strawbingo/article/details/46458959

指標的基本概念

1、事務(Transaction)

在web性能測試中,一個事務表示一個“從用戶發送請求->web server接受到請求,進行處理-> web server向DB獲取數據->生成用戶的object(頁面),返回給用戶”的過程,一般的響應時間都是針對事務而言的。

2、請求響應時間

請求響應時間指的是從客戶端發起的一個請求開始,到客戶端接收到從服務器端返回的響應結束,這個過程所耗費的時間,在某些工具中,響應通常會稱為“TTLB”,即"Time To Last Byte",意思是從發起一個請求開始,到客戶端接收到最后一個字節的響應所耗費的時間,響應時間的單位一般為“秒”或者“毫秒”。一個公式可以表示:響應時間=網絡響應時間+應用程序響應時間。

(1)在1秒鍾之內,頁面給予用戶響應並有所顯示,可認為是“很不錯的”;

(2)在1~2秒鍾內,頁面給予用戶響應並有所顯示,可認為是“好的”;

(3)在2~3秒鍾內,頁面給予用戶響應並有所顯示,可認為是“勉強接受的”;

(4)超過3秒就讓人有點不耐煩了,用戶很可能不會繼續等待下去;

3、事務響應時間

事務可能由一系列請求組成,事務的響應時間主要是針對用戶而言,屬於宏觀上的概念,是為了向用戶說明業務響應時間而提出的.例如:跨行取款事務的響應時間就是由一系列的請求組成的.事務響應時間是直接衡量系統性能的參數.

4、並發用戶數

       並發一般分為2種情況。一種是嚴格意義上的並發,即所有的用戶在同一時刻做同一件事情或者操作,這種操作一般指做同一類型的業務。比如在信用卡審批業務中,一定數目的擁護在同一時刻對已經完成的審批業務進行提交;還有一種特例,即所有用戶進行完全一樣的 操作,例如在信用卡審批業務中,所有的用戶可以一起申請業務,或者修改同一條記錄。

  另外一種並發是廣義范圍的並發。這種並發與前一種並發的區別是,盡管多個用戶對系統發出了請求或者進行了操作,但是這些請求或者操作可以是相同的,也可以是不同的。對整個系統而言,仍然是有很多用戶同時對系統進行操作,因此也屬於並發的范疇。

  可以看出,后一種並發是包含前一種並發的。而且后一種並發更接近用戶的實際使用情況,因此對於大多數的系統,只有數量很少的用戶進行“嚴格意義上的並發”。對於WEB性能測試而言,這2種並發情況一般都需要進行測試,通常做法是先進行嚴格意義上的並發測試。嚴格意義上的用戶並發一般發生在使用比較頻繁的模塊中,盡管發生的概率不是很大,但是一旦發生性能問題,后果很可能是致命的。嚴格意義上的並發測試往往和功能測試關聯起來,因為並發功能遇到異常通常都是程序問題,這種測試也是健壯性和穩定性測試的一部分。

       用戶並發數量:關於用戶並發的數量,有2種常見的錯誤觀點。 一種錯誤觀點是把並發用戶數量理解為使用系統的全部用戶的數量,理由是這些用戶可能同時使用系統;還有一種比較接近正確的觀點是把在線用戶數量理解為並發用戶數量。實際上在線用戶也不一定會和其他用戶發生並發,例如正在瀏覽網頁的用戶,對服務器沒有任何影響,但是,在線用戶數量是計算並發用戶數量的主要依據之一。

5、吞吐量

指的是在一次性能測試過程中網絡上傳輸的數據量的總和.吞吐量/傳輸時間,就是吞吐率.

6、TPS(transaction per second)

每秒鍾系統能夠處理的交易或者事務的數量.它是衡量系統處理能力的重要指標.

7、點擊率

每秒鍾用戶向WEB服務器提 交的HTTP請求數.這個指標是WEB應用特有的一個指標:WEB應用是"請求-響應"模式,用戶發出一次申請,服務器就要處理一次,所以點擊是WEB應用能夠處理的交易的最小單位.如果把每次點擊定義為一個交易,點擊率和TPS就是一個概念.容易看出,點擊率越大,對服務器的壓力越大.點擊率只是一個性能參考指標,重要的是分析點擊時產生的影響。需要注意的是,這里的點擊並非指鼠標的一次單擊操作,因為在一次單擊操作中,客戶端可能向服務器發出多個HTTP請求.

8、資源利用率

指的是對不同的系統資源的使用程度,例如服務器的CPU利用率,磁盤利用率等.資源利用率是分析系統性能指標進而改善性能的主要依據,因此是WEB性能測試工作的重點.

資源利用率主要針對WEB服務器,操作系統,數據庫服務器,網絡等,是測試和分析瓶頸的主要參考.在WEB性能測試中,更根據需要采集相應的參數進行分析。

 

通用指標(指Web應用服務器、數據庫服務器必需測試項)

 

 

 

指標

說明

ProcessorTime

服務器CPU占用率,一般平均達到70%時,服務就接近飽和

Memory Available Mbyte

可用內存數,如果測試時發現內存有變化情況也要注意,如果是內存泄露則比較嚴重

Physicsdisk Time

物理磁盤讀寫時間情況

 

 Web服務器指標

指標

說明

Requests Per Second(Avg Rps)

平均每秒鍾響應次數=總請求時間 / 秒數

Avg time to last byte per terstion (mstes)

平均每秒業務腳本的迭代次數 ,有人會把上面那個混淆

Successful Rounds

成功的請求

Failed Requests

失敗的請求

Successful Hits

成功的點擊次數

Failed Hits

失敗的點擊次數

Hits Per Second

每秒點擊次數

Successful Hits Per Second

每秒成功的點擊次數

Failed Hits Per Second

每秒失敗的點擊次數

Attempted Connections

嘗試鏈接數

 

 

 

 

數據庫服務器性能指標

指標

說明

User 0 Connections

用戶連接數,也就是數據庫的連接數量

Number of deadlocks

數據庫死鎖

Butter Cache hit

數據庫Cache的命中情況

 

系統的瓶頸定義

性能項

命令

指標

CPU限制

vmstat

當%user+%sys超過80%時

磁盤I/O限制

Vmstat

當%iowait超過40%(AIX4.3.3或更高版本)時

應用磁盤限制

Iostat

當%tm_act超過70%時

虛存空間少

Lsps,-a

當分頁空間的活動率超過70%時

換頁限制

Iostat, stat

虛存邏輯卷%tm_act超過I/O(iostat)的30%,激活的虛存率超過CPU數量(vmstat)的10倍時

系統失效

Vmstat, sar

頁交換增大、CPU等待並運行隊列

 

穩定系統的資源狀態

性能項

資源

評價

CPU占用率

70%

85%

90%+

很差

磁盤I/0

<30%

<40%

<50%+

很差

網絡

<30%帶寬

運行隊列

<2*CPU數量

內存

沒有頁交換

每個CPU每秒10個頁交換

更多的頁交換

很差

 

接口性能要求

 

http接口性能要求

該要求不包括文件上傳 等重量級接口

指標名稱
要求
優先級
備注
響應時間 500 millisecond 1  
請求成功率 99% 2  
TPS

在滿足預期要求的情況下服務器狀態穩定,單台服務器TPS要求在1000左右

3  
資源使用率 要求在TPS正常幅度的情況下資源使用率幅度平穩,服務器狀態平穩 3 要求接口的內部實現不能占用太多資源
數據庫死鎖 0,要求接口在使用過程中不會造成數據庫死鎖 1  
CPU限制 要求接口在使用過程中不會出現大量的計算 3  
內存 要求接口在使用過程中不會出現內存大量消耗的情況 3  
       

 

dubbo接口性能要求

指標名稱
要求
優先級
備注
響應時間 500 millisecond 1  
請求成功率 99% 2  
TPS

在滿足預期要求的情況下服務器狀態穩定,單台服務器TPS要求在1000左右

3  
資源使用率 要求在TPS正常幅度的情況下資源使用率幅度平穩,服務器狀態平穩 3 要求接口的內部實現不能占用太多資源
數據庫死鎖 0,要求接口在使用過程中不會造成數據庫死鎖 1  
CPU限制 要求接口在使用過程中不會出現大量的計算 3  
內存 要求接口在使用過程中不會出現內存大量消耗的情況 3  
   


免責聲明!

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



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