在做性能測試時(shí)需要根據(jù)性能需求配置不同的壓測模式,如:階梯模式店展。使用jmeter時(shí)我們需要安裝插件來配置測試模式,RunnerGo內(nèi)嵌了壓測模式這一選項(xiàng)更方便使用涂炎,今天j就來看看RunnerGo的幾種壓測模式和怎么根據(jù)性能需求選擇合適的壓測模式嫉入。
RunnerGo官網(wǎng)地址:https://www.runnergo.com
GitHub地址:https://github.com/Runner-Go-Team
Gitee地址:https://gitee.com/Runner-Go-Team
RunnerGo提供了五種壓測模式選擇:并發(fā)模式、階梯模式璧尸、錯(cuò)誤率模式、響應(yīng)時(shí)間模式熬拒、每秒應(yīng)答數(shù)模式爷光。
一、并發(fā)模式
可根據(jù)并發(fā)數(shù)設(shè)置按時(shí)間運(yùn)行或按輪次運(yùn)行澎粟,通過并發(fā)模式可以用來驗(yàn)證應(yīng)用服務(wù)在固定并發(fā)數(shù)下的性能表現(xiàn)蛀序。比如,設(shè)計(jì)高流量交易系統(tǒng)或大規(guī)模并發(fā)用戶系統(tǒng)時(shí)需要使用這種測試活烙。
二徐裸、階梯模式
可以設(shè)置起始并發(fā)數(shù)然后根據(jù)步長以及最大并發(fā)數(shù),測試應(yīng)用服務(wù)在各階段的性能表現(xiàn)啸盏。當(dāng)?shù)竭_(dá)最大并發(fā)后重贺,則繼續(xù)運(yùn)行穩(wěn)定持續(xù)時(shí)長所設(shè)置的時(shí)長運(yùn)行后結(jié)束該計(jì)劃。階梯模式測試可以幫助確定應(yīng)用程序的性能能力回懦,了解響應(yīng)時(shí)間气笙、吞吐量和負(fù)載的關(guān)系,從而調(diào)整系統(tǒng)參數(shù)和資源配置怯晕,以達(dá)到最優(yōu)性能潜圃。這種測試通常適用于一些對實(shí)時(shí)性能有嚴(yán)格要求的系統(tǒng),如金融交易舟茶、零售管理和在線游戲等谭期。
舉例: 如下圖所示,當(dāng)起始并發(fā)為20吧凉;并發(fā)數(shù)步長:30隧出;步長持續(xù)時(shí)長:100秒;最大并發(fā)數(shù):100客燕;持續(xù)時(shí)長50秒鸳劳。 則該配置運(yùn)行邏輯為:20并發(fā)運(yùn)行100秒,然后20+30=50并發(fā)也搓,再運(yùn)行100秒赏廓,然后50+30=80并發(fā)涵紊,再運(yùn)行100秒,然后80+30=110并發(fā)幔摸,由于110并發(fā)超過了最大并發(fā)100摸柄,最后運(yùn)行持續(xù)時(shí)長50秒; 一共運(yùn)行了350秒(理論值)既忆。
三驱负、錯(cuò)誤率模式
錯(cuò)誤率模式會統(tǒng)計(jì)接口的錯(cuò)誤率。如果場景中某一接口超過設(shè)置的錯(cuò)誤率閾值患雇,則計(jì)劃自動(dòng)停止跃脊;如到達(dá)最大并發(fā)數(shù)后,錯(cuò)誤率仍沒有超過錯(cuò)誤率閾值苛吱,則繼續(xù)運(yùn)行穩(wěn)定持續(xù)時(shí)長所設(shè)置的時(shí)長運(yùn)行后結(jié)束該計(jì)劃酪术。錯(cuò)誤率模式測試通常適用于一些對系統(tǒng)可靠性要求較高的應(yīng)用場景,如金融交易翠储、醫(yī)療健康和航空航天等绘雁。
如下圖所示:在場景中的任務(wù)配置里選擇錯(cuò)誤率模式后,需要在具體的一個(gè)或多個(gè)接口塊中選擇錯(cuò)誤率模式援所,并填寫錯(cuò)誤率閾值(錯(cuò)誤率閾值為小數(shù))庐舟。如填寫的錯(cuò)誤率閾值為0.001,則表示該接口錯(cuò)誤率若大于或等于0.1%住拭,那么該任務(wù)就會停止挪略。 如果多個(gè)接口都設(shè)置了錯(cuò)誤率模式,那么只要一個(gè)接口符合上述規(guī)則废酷,則該任務(wù)會立即停止瘟檩。
四、響應(yīng)時(shí)間模式
根據(jù)場景中的所有接口響應(yīng)時(shí)間為準(zhǔn)澈蟆,每個(gè)接口的響應(yīng)時(shí)間均與設(shè)定的閾值進(jìn)行對比墨辛。如果其中有一個(gè)接口達(dá)到大于設(shè)定的閾值后則并發(fā)數(shù)不再增加,并運(yùn)行穩(wěn)定持續(xù)時(shí)長所設(shè)置的時(shí)長運(yùn)行后結(jié)束該計(jì)劃趴俘;如果到達(dá)最大并發(fā)數(shù)后仍未達(dá)到設(shè)定的閾值睹簇,則繼續(xù)運(yùn)行穩(wěn)定持續(xù)時(shí)長所設(shè)置的時(shí)長運(yùn)行后結(jié)束該計(jì)劃。響應(yīng)時(shí)間模式測試通常適用于一些對系統(tǒng)速度和用戶體驗(yàn)有嚴(yán)格要求的應(yīng)用場景寥闪,如在線游戲太惠、電子商務(wù)和視頻流媒體等。
如下圖所示:在場景中的任務(wù)配置里選擇響應(yīng)時(shí)間模式后疲憋,需要在具體的一個(gè)或多個(gè)接口塊中選擇響應(yīng)時(shí)間模式凿渊,然后選擇對應(yīng)的響應(yīng)時(shí)間節(jié)點(diǎn)50、90、95埃脏、100線或者101(平均響應(yīng)時(shí)間)搪锣,也可以自定義響應(yīng)時(shí)間線。然后填寫響應(yīng)時(shí)間閾值彩掐。如下圖我們選擇了90響應(yīng)時(shí)間線构舟,閾值為1000ms(1秒),那么執(zhí)行該計(jì)劃后堵幽,如果該接口95%響應(yīng)時(shí)間線大于所設(shè)置的閾值狗超,那么則會立即停止該任務(wù),如果沒有設(shè)置或者未超過閾值朴下,則繼續(xù)按照任務(wù)配置運(yùn)行努咐。
五、每秒應(yīng)答數(shù)模式
每秒鐘發(fā)送并響應(yīng)的接口數(shù)量(RPS)殴胧。計(jì)算方式:RPS=接口的總請求數(shù)*接口的并發(fā)數(shù)/響應(yīng)總耗時(shí)麦撵,約等于:接口的并發(fā)數(shù)/平均響應(yīng)時(shí)間(s)。RPS大于所設(shè)閾值時(shí)溃肪,并發(fā)數(shù)會增加到最大并發(fā)數(shù),小于閾值時(shí)音五,會根據(jù)設(shè)置逐漸增加惫撰。每秒應(yīng)答數(shù)模式測試通常適用于一些需要處理大量數(shù)據(jù)的應(yīng)用場景,如數(shù)據(jù)處理躺涝、日志分析和流媒體處理等領(lǐng)域厨钻。
如下圖所示:在場景中的任務(wù)配置里選擇每秒應(yīng)答數(shù)模式后,需要在具體的一個(gè)或多個(gè)接口塊中選擇每秒應(yīng)答數(shù)模式坚嗜,然后填寫應(yīng)答數(shù)閾值夯膀。如果該計(jì)劃執(zhí)行后,該接口的RPS(每秒應(yīng)答數(shù))大于所設(shè)閾值苍蔬,那么并發(fā)數(shù)會直接增加到最大并發(fā)數(shù):300诱建,然后運(yùn)行持續(xù)時(shí)長:300秒;如果多個(gè)接口設(shè)置了每秒應(yīng)答數(shù)模式及閾值碟绑,那么已經(jīng)設(shè)置的所有接口RPS都達(dá)到或超過閾值后俺猿,并發(fā)數(shù)會直接增加到最大并發(fā)數(shù):300,然后運(yùn)行持續(xù)時(shí)長:300秒格仲。