自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于目標(biāo)TPS的性能測試,如何通過手動設(shè)置場景進(jìn)行測試?

開發(fā) 測試
本文介紹了基于目標(biāo)tps的性能測試方法,希望通過本文,能讓大家對tps的設(shè)置有更深入的了解,在做性能測試時做到目標(biāo)清晰,有章可循。

一、性能測試中的TPS

眾所周知,TPS(即Transactions Per Second的縮寫)是性能測試中的一項重要指標(biāo),用于衡量被測系統(tǒng)的性能,TPS高則說明系統(tǒng)處理速度快,TPS低則說明系統(tǒng)處理速度慢,可能需要做性能優(yōu)化。通常TPS只是反應(yīng)測試結(jié)果,測試出多少就是多少,然而很多時候我們需要事先指定TPS的目標(biāo)值,通過測試來驗證目標(biāo)值是否達(dá),那么該如何進(jìn)行測試呢?

二、基于目標(biāo)的性能測試

Loadrunner在新建測試場景時,就可以選擇手動場景還是基于目標(biāo)的場景,如下圖所示:

目標(biāo)類型可以選擇tps、hits per second等:

設(shè)置好目標(biāo)后,直接運(yùn)行就可以了,執(zhí)行完成可以看到目標(biāo)是否達(dá)到了。這個過程都是自動完成的,其內(nèi)部是如何實現(xiàn)的,對于我們來說完全是個黑盒子。本文介紹的是如何通過手動設(shè)置場景來完成基于TPS目標(biāo)的測試,重點(diǎn)介紹目標(biāo)TPS是如何計算出來的。

三、測試場景的設(shè)置

我們還是選擇手動設(shè)置loadrunner的測試場景,通常會有單交易場景測試和混合交易場景測試,下面是2個示例:

無論是單場景還是混合場景,目標(biāo)TPS的計算原理都是一樣的。

四、場景公式

在上面的場景例子中,我們需要重點(diǎn)關(guān)注4個字段:

  • 虛擬用戶數(shù)量(簡稱vu)
  • 目標(biāo)tps
  • Pacing
  • Thinktime

所有場景的 thinktime 都是 0 秒,pacing 和 thinktime 在概念上有聯(lián)系也有區(qū)別。

Thinktime 比較常用,易理解,這里不多介紹,下面重點(diǎn)說一下 pacing。Pacing 是 loadrunner中的一個設(shè)置選項,如下圖所示:

Pacing 指 action 迭代的延遲時間,選項一是迭代不延遲,選項二是在上一次迭代結(jié)束后多長時間開始下一次迭代,選項三是每次迭代從開始到結(jié)束的時間間隔。

選項三實際上是設(shè)置每次迭代的期望完成時間,例如設(shè)置pacing為60秒,表示action這個事務(wù)要求在60秒內(nèi)執(zhí)行完成,如果action執(zhí)行了4秒,那么后面的56秒會等待,直到60秒后再開始下一次迭代;如果action執(zhí)行了120秒,那么執(zhí)行結(jié)束后會立即開始下一次迭代。前者我們可以稱之為“包含住”,因為執(zhí)行時間小于pacing時間,后者稱為“未包含住”,因為執(zhí)行時間大于pacing時間。只要action的平均響應(yīng)時間“包含住”了,目標(biāo)TPS就可以達(dá)到。

理解上面的原理很重要,下面我們看一個例子。

假設(shè)有如下的測試結(jié)果:

vu為1時action的響應(yīng)時間只要小于等于2秒pacing,理論tps應(yīng)該都是0.5,換句話說只要action響應(yīng)時間在pacing內(nèi),響應(yīng)時間再快,tps不會增加。

vu為 10 時,action的響應(yīng)時間仍小于2秒,在pacing范圍內(nèi),“包含住”了,達(dá)到5個TPS。同理,vu為20時,action的響應(yīng)時間仍小于2秒,在pacing范圍內(nèi),“包含住”了,達(dá)到10 個TPS。在action的響應(yīng)時間未超出pacing之前,tps和vu存在正比關(guān)系。

vu為100時,action響應(yīng)時間為10秒,不在pacing2秒范圍內(nèi),“未包含住”,理論的50個tps就不可能達(dá)到了。

通過以上分析,我們可以得出vu、pacing、目標(biāo)tps三者之間的關(guān)系,即:

在action的響應(yīng)時間未超出pacing之前,目標(biāo)tps=vu/pacing通過該公式,可以較精確的測試出系統(tǒng)的tps,通過大量的測試試驗,結(jié)果也是和公式吻合的。

目標(biāo)tps根據(jù)需求得到,設(shè)置一個pacing就知道需要測試多少vu。減少pacing和增加vu都可以增加目標(biāo)tps。建議的做法是先設(shè)定pacing,然后再設(shè)置vu,pacing的取值基本都是10秒,或者是10秒的倍數(shù)。pacing確定后就不再改變,要想增加目標(biāo)tps,只能調(diào)大vu。

五、總結(jié)

本文介紹了基于目標(biāo)tps的性能測試方法,希望通過本文,能讓大家對tps的設(shè)置有更深入的了解,在做性能測試時做到目標(biāo)清晰,有章可循。

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2011-07-04 17:38:47

性能測試

2025-01-27 11:52:23

2021-07-03 08:54:49

LinuxSysbench性能

2013-10-15 10:11:33

產(chǎn)品測試使用場景產(chǎn)品

2019-07-24 09:00:00

New Relic性能工程壓力測試

2018-08-02 17:11:33

iOS 12蘋果bug

2015-03-19 09:35:36

OpenStack平臺性能測試Rally功能測試Tempest

2023-09-28 21:55:12

AndroidApp

2012-03-26 10:55:03

JavaJava EE

2023-08-31 08:36:52

.NET性能測試開源

2023-12-06 09:33:54

Reactor網(wǎng)絡(luò)

2016-09-23 16:36:25

LinuxPCPhoronix

2021-12-29 10:30:15

JMH代碼Java

2012-12-18 13:32:45

IBMdW

2022-06-22 09:41:16

接口異常測試

2020-05-18 07:00:00

性能測試壓力測試負(fù)載測試

2023-03-24 16:18:08

微服務(wù)架構(gòu)

2023-09-03 23:49:35

2011-06-08 16:59:04

性能測試載測試壓力測試

2013-06-27 10:34:08

準(zhǔn)備性能測試數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號