1. 程式人生 > >網站效能測試PV到TPS的轉換以及TPS的波動

網站效能測試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,還需要優化,比如看看資料庫方面是否有優化的空間,比如索引。