性能測試的難點不在於測,在於測出的數據和實際的對照關係,以及測試出來的數據對性能的評估(究竟是好,仍是很差)。數據庫
淘寶性能測試白皮書,解決了個人4個問題:一、PV到TPS的轉換關係。二、TPS的波動標準。三、壓力變化以及測試類型。四、網頁測試的標準(惋惜不少數據都抹掉了)安全
一、PV到TPS的轉換網絡
日PV對於一個網站,很容易就統計出來,可是LoadRunner性能測試時,只有TPS可供參考。日PV和TPS之間如何對應?公式就是80%的日PV,發生在T小時內。則公式爲:ide
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的值便可spa
T 6 8 10 12orm
R 0.3704 0.2778 0.2222 0.1852ci
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,能夠從圖中看出來。
二、TPS的波動標準
TPS應該是一個比較平穩的曲線,而不是上下波動
TPS波動範圍 = TPS標準差/TPS平均值 * 100%
在5%內算是正常的
三、測試壓力變化
pdf中的圖1-8
a點:性能指望值
b點:高於指望,系統資源處於臨界點
c點:高於指望,拐點
d點:超過負載,系統崩潰
性能測試
a點到b點之間的系統性能
定義:狹義的性能測試,是指以性能預期目標爲前提,對系統不斷施加壓力,驗證系統在資源可接受範圍內,是否能達到性能預期。
負載測試
b點的系統性能
定義:狹義的負載測試,是指對系統不斷地增長壓力或增長必定壓力下的持續時間,直到系統的某項或多項性能指標達到極限,例如某種資源已經達到飽和狀態等。
壓力測試
b點到d點之間
定義:狹義的壓力測試,是指超過安全負載的狀況下,對系統不斷施加壓力,是經過肯定一個系統的瓶頸或不能接收用戶請求的性能點,來得到系統能提供的最大服務級別的測試。
穩定性測試
a點到b點之間
定義:狹義的穩定性測試,是指被測試系統在特定硬件、軟件、網絡環境條件下,給系統加載必定業務壓力,使系統運行一段較長時間,以此檢測系統是否穩定,通常穩定性測試時間爲n*12小時。
四、網站測試標準