jmeter模擬spike測試(尖峯測試)

概述

尖峯測試(Spike testing)在性能測試中屬於壓力測試的一個子集。指的是在某一瞬間或者多個頻次下用戶數和壓力陡然增長的場景。html

爲了驗證咱們的網站在訪問用戶急劇增長的狀況下,或者短期內反覆急劇增長工做負載時可否正常工做;以及程序可否從高負荷中恢復並正常工做時經常用到這種測試手法。服務器

Spike在英文中是釘子的意思,或者咱們能夠將其稱之爲衝擊測試,反覆衝擊服務器。併發

 

常見的場景有

12306開始售票時用戶急劇增長性能


網站公佈高考成績、錄取分數時,用戶急劇增長
測試


網站投放商業促銷廣告和促銷活動,如雙11和618等活動開始時,用戶急劇增長
網站


等等。。。。
spa

 

如今咱們假設有這樣一個場景

咱們的網站正在平穩運行的時候,忽然有一波1000用戶同時訪問,咱們稱之爲第一浪潮。訪問了30s以後,第一浪潮在15s內逐漸退出系統。線程

在第一浪潮退出系統的同時,第二波2000用戶在極短期內又忽然涌入網站,咱們稱之爲第二浪潮。在訪問30s以後,第二浪潮在15s內也逐漸退出了系統。設計

在第二浪潮退出系統的同時,第三波3000用戶又忽然涌入網站,咱們稱之爲第三浪潮。在訪問30s以後,第三浪潮在15s內也逐漸退出了系統。3d

在第三浪潮退出系統的同時,第四波1000用戶又忽然涌入網站,咱們稱之爲第四浪潮。在訪問30s以後,第四浪潮在15s內也逐漸退出了系統。

併發的用戶就像浪花一波一波的不斷涌入系統,拍打服務器,考驗咱們的系統可否頂住壓力並平穩運行

 

測試方案設計

咱們知道,jmeter中的基礎線程組用來構成對服務器的壓力。

咱們在添加定時器以後,能夠模擬出某一瞬間的壓力。

可是這種線程組只能模擬出一個尖峯,若是咱們想要模擬出那種浪潮式的場景,它不能知足咱們的要求。

 

jmeter提供了另外一個線程組知足咱們的測試需求

Ultimate Thread Group(終極線程組)

 聽起來是否是有點高端?下面咱們來了解一下它的用法

 

 

 如圖所示

啓動的線程數量(Start Threads Count),也就是訪問的用戶數

延遲時間(Initial Delay,秒),也就是壓力到達的時間

線程啓動時間(Startup Time,秒),也就是爲了知足預期壓力而加載線程所須要的時間

壓力知足以後持續運行的時間(Hold Load For,秒)

釋放掉壓力須要的時間(Shutdown Time,秒)

每個Thread schedule 都是一個線程組。所以咱們能夠把這個終極線程組理解爲多個基礎線程組的壓力疊加

 

圖中咱們模擬出了四個spike場景

 在第一批1000用戶訪問完畢的時候,第二批2000用戶的壓力又開始增長,第二批2000用戶壓力釋放以後,第三批3000用戶的壓力又開始增長。。。。

 

下圖是單位時間內活動的真實線程數,能夠看出在中間兩個批次壓力下,線程根原本不及釋放掉

 

結合tps監聽和聚合報告能夠看出,spike場景測試下,有不少事物沒有正確響應,錯誤率達到了20.78%

 

原文出處:https://www.cnblogs.com/Zfc-Cjk/p/11109019.html

相關文章
相關標籤/搜索