網站效能測試PV到TPS的轉換以及TPS的波動
《淘寶效能測試白皮書V0.3》
效能測試的難點不在於測,在於測出的資料和實際的對照關係,以及測試出來的資料對效能的評估(到底是好,還是不好)。
淘寶效能測試白皮書,解決了我的4個問題:1、PV到TPS的轉換關係。2、TPS的波動標準。3、壓力變化以及測試型別。4、網頁測試的標準(可惜很多資料都抹掉了)
1、PV到TPS的轉換
日PV對於一個網站,很容易就統計出來,但是LoadRunner效能測試時,只有TPS可供參考。日PV和TPS之間如何對應?公式就是80%的日PV,發生在T小時內。則公式為:
TPS = 日PV * 80% / 24 * 60 * 60 * (T/24)
定義 R = 1萬 * 80% / 24 * 60 * 60 * (T/24) = 10000 * 24 * 0.8 / 24 * 3600 * T = 2.2222/T
TPS = 日PV(萬) * R 這裡的TPS就是平均的TPS。
可以T的值代入,則求出R的值即可
T 6 8 10 12
R 0.3704 0.2778 0.2222 0.1852
10w 3.704 2.778 2.222 1.852
100w 37.04 27.78 22.22 18.52
1000w 370.4 277.8 222.2 185.2
1億 3704 2778 2222 1852
關於TPS 我再多說兩句,單就靜態頁面,TPS大概能到1W+,簡單資料庫操作大概2K+的樣子,用Cache大概能到5K+。
峰值的TPS,可以從圖中看出來。
2、TPS的波動標準
TPS應該是一個比較平穩的曲線,而不是上下波動
TPS波動範圍 = TPS標準差/TPS平均值 * 100%
在5%內算是正常的
3、測試壓力變化
pdf中的圖1-8
a點:效能期望值
b點:高於期望,系統資源處於臨界點
c點:高於期望,拐點
d點:超過負載,系統崩潰
效能測試
a點到b點之間的系統性能
定義:狹義的效能測試,是指以效能預期目標為前提,對系統不斷施加壓力,驗證系統在資源可接受範圍內,是否能達到效能預期。
負載測試
b點的系統性能
定義:狹義的負載測試,是指對系統不斷地增加壓力或增加一定壓力下的持續時間,直到系統的某項或多項效能指標達到極限,例如某種資源已經達到飽和狀態等。
壓力測試
b點到d點之間
定義:狹義的壓力測試,是指超過安全負載的情況下,對系統不斷施加壓力,是通過確定一個系統的瓶頸或不能接收使用者請求的效能點,來獲得系統能提供的最大服務級別的測試。
穩定性測試
a點到b點之間
定義:狹義的穩定性測試,是指被測試系統在特定硬體、軟體、網路環境條件下,給系統載入一定業務壓力,使系統執行一段較長時間,以此檢測系統是否穩定,一般穩定性測試時間為n*12小時。
4、網站測試標準
==========================================================================
效能相關的系列文章:
Q&A
因為CSDN評論不知道為什麼沒法用了,所以貼在這裡吧
Q:yxt168118 能否請作者將TPS的T,在測試指令碼中,怎麼定義說明一下?我是將某個關鍵操作定義為一個事務(T),這樣測試出來的TPS很難達到10。
A:回覆 yxt168118:定義T transaction 事務,是根據測試目的來決定的,如果是效能測試,T定義為一次請求,如果是可用性測試,T定義為整個頁面的載入,主要看響應時間使用者是否能接受。TPS高低和操作的複雜程度、以及後臺擴充套件、以及T的定義是相關的。一般,單次的請求,單臺機器,百數量級上是正常的。另外,在一次請求中,不要每次都去初始化一些比如使用者等資料,如果有很多的資料庫操作,TPS也會低一些,如果達不到10,還需要優化,比如看看資料庫方面是否有優化的空間,比如索引。