提到性能測(cè)試璃饱,常會(huì)提到壓力測(cè)試贮喧、負(fù)載測(cè)試、穩(wěn)定性測(cè)試谁尸、配置測(cè)試等等晰赞,但說到其各自的定義稼病,實(shí)在是晦澀難懂。但若將性能測(cè)試掖鱼,看作是在不同的場(chǎng)景下執(zhí)行系統(tǒng)然走,獲取系統(tǒng)的性能指標(biāo),再對(duì)數(shù)據(jù)進(jìn)行監(jiān)控分析的過程戏挡,就比較好理解了芍瑞。
性能測(cè)試場(chǎng)景可以分為四類。
- 基準(zhǔn)性能場(chǎng)景
- 容量性能場(chǎng)景
- 穩(wěn)定性性能場(chǎng)景
- 異常性能場(chǎng)景
下面說下每種場(chǎng)景的定義褐墅、場(chǎng)景設(shè)計(jì)以及一些補(bǔ)充啄巧。
基準(zhǔn)性能場(chǎng)景
對(duì)單個(gè)業(yè)務(wù)進(jìn)行加壓,以獲取其的最大容量
設(shè)計(jì)步驟
- 確定要測(cè)試的業(yè)務(wù)比例掌栅、業(yè)務(wù)目標(biāo)TPS、響應(yīng)時(shí)間指標(biāo)
這里要測(cè)試兩個(gè)接口码泛,目標(biāo)響應(yīng)時(shí)間都是100ms
業(yè)務(wù)名 | 業(yè)務(wù)比例 | 業(yè)務(wù)目標(biāo)TPS |
---|---|---|
業(yè)務(wù)A | 70% | 160 |
業(yè)務(wù)B | 30% | 100 |
-
對(duì)業(yè)務(wù)接口進(jìn)行梯度加壓猾封,得到測(cè)試結(jié)果
以每3秒一個(gè)用戶的速度向上遞增,直到加到50個(gè)用戶
TPS
A-TPS.png
RT
線程
- 獲取最大TPS噪珊,以及此時(shí)的響應(yīng)時(shí)間
從上面的圖可以得到以下判斷:
- 壓力線程到14時(shí)晌缘,TPS達(dá)到上限180左右
- 此時(shí)的響應(yīng)時(shí)間是75左右
4.重復(fù)以上步驟測(cè)試每一個(gè)業(yè)務(wù),得到結(jié)果表格
業(yè)務(wù) | 最大TPS | RT |
---|---|---|
業(yè)務(wù)A | 180 | 75 |
業(yè)務(wù)B | 155 | 70 |
Q&A
Q:業(yè)務(wù)目標(biāo)TPS和響應(yīng)時(shí)間怎么定痢站?
A:方法一:找同行業(yè)對(duì)比數(shù)據(jù)磷箕。方法二:到生產(chǎn)環(huán)境看用戶使用情況并統(tǒng)計(jì)信息
Q:怎么得到業(yè)務(wù)比例?
A:根據(jù)生產(chǎn)環(huán)境的請(qǐng)求統(tǒng)計(jì)信息
Q:測(cè)試時(shí)為什么要逐步增壓阵难?
A:保證在測(cè)試過程中資源分配的合理性岳枷,可以看到整體的變化過程,例如遞增過程中會(huì)不會(huì)出現(xiàn)系統(tǒng)動(dòng)蕩,便于分析性能瓶頸空繁。
容量性能場(chǎng)景
模擬生產(chǎn)環(huán)境的業(yè)務(wù)場(chǎng)景殿衰,比如峰值場(chǎng)景進(jìn)行的測(cè)試,判斷在混合業(yè)務(wù)場(chǎng)景下盛泡,系統(tǒng)的指標(biāo)是否符合預(yù)期
設(shè)計(jì)步驟
- 場(chǎng)景不斷
-
控制比例
業(yè)務(wù)A闷祥、B按照7:3的比例,不斷增加壓力傲诵,得到以下結(jié)果:
混合容量.png
業(yè)務(wù) | 最大TPS | 響應(yīng)時(shí)間 | 業(yè)務(wù)比例 | 目標(biāo)TPS | 容量測(cè)試結(jié)果TPS | 容量測(cè)試結(jié)果對(duì)應(yīng)的響應(yīng)時(shí)間 |
---|---|---|---|---|---|---|
業(yè)務(wù)A | 180 | 75 | 70% | 160 | 115 | 116 |
業(yè)務(wù)B | 155 | 70 | 30% | 100 | 53 | 107 |
合計(jì) | 168 |
混合場(chǎng)景下凯砍,業(yè)務(wù)的TPS并沒有達(dá)到預(yù)期,此處應(yīng)進(jìn)行分析調(diào)優(yōu)拴竹。
穩(wěn)定性性能場(chǎng)景
系統(tǒng)能在一定時(shí)間內(nèi)穩(wěn)定運(yùn)行
設(shè)計(jì)步驟
確定場(chǎng)景的運(yùn)行時(shí)間長(zhǎng)度的加壓數(shù)
運(yùn)行時(shí)長(zhǎng)取決于系統(tǒng)上線后的運(yùn)維周期悟衩。例如指標(biāo)是穩(wěn)定運(yùn)行一周,支持100萬業(yè)務(wù)量殖熟。之前容量TPS能達(dá)到168局待,所以時(shí)長(zhǎng)應(yīng)該是10000000/168=6250秒=1.8小時(shí)。
Q&A
Q:為什么用最大容量TPS跑穩(wěn)定性菱属?
A:有的觀點(diǎn)是用最大TPS的80%去跑穩(wěn)定性钳榨。跑穩(wěn)定性的目的就是看系統(tǒng)會(huì)不會(huì)因?yàn)殚L(zhǎng)時(shí)間處理業(yè)務(wù)而引發(fā)潛在瓶頸。只要系統(tǒng)正常處理纽门,資源沒有出問題也沒有報(bào)錯(cuò)薛耻,就可以用最大TPS去跑。
異常性能場(chǎng)景
根據(jù)系統(tǒng)架構(gòu)模擬異常情況赏陵,如宕主機(jī)饼齿、宕數(shù)據(jù)庫等等,看系統(tǒng)性能下降是否符合預(yù)期并且能否在一定時(shí)間內(nèi)恢復(fù)