松勤11期软件测试之Jmeter高级性能测试项目实战学习笔记
看我名字,其他不重要,你懂就好
功用測驗針對系統(tǒng)的功用目標,建立功用測驗?zāi)P?#xff0c;制定功用測驗計劃,制定監(jiān)控戰(zhàn)略,在場景條件之下執(zhí)行功用場景,剖析判別功用瓶頸并調(diào)優(yōu),終究得出功用成果來評估系統(tǒng)的功用目標是否滿意既定值。
一、功用測驗中的目標
一切的技術(shù)目標都是在有事務(wù)場景的條件下制定的。
技術(shù)目標和事務(wù)目標之間也要有詳細的換算進程。
舉個比如:
論壇首要有以下幾個功用點:注冊、登錄、發(fā)貼、閱讀貼子、管理員可以單個或者多個的刪去帖子,部分用戶發(fā)貼需求經(jīng)過審閱才能在前臺展現(xiàn);
咱們10萬的活潑用戶,每天線在用戶數(shù)約為1W, 75%的用戶閱讀帖子(均勻5個帖子)并回復(fù)(2次),20%的用戶會發(fā)貼(1個帖子);而且以每個月5%的速度在增長;
咱們有30個各版塊的管理員,每天80%的管理員負責審閱貼子(均勻每天20個),15%的管理員負責冊除不符合要求或者過時的帖子(均勻每人刪去3個) ;
用戶發(fā)貼的思考時刻在5S~60S之間浮動,審閱帖子的思考時刻在 5S~20S之間浮動;每天晚上8時至12時是用戶運用高峰期,早上9時 至10時是管理員審貼的高峰;
換算如下
1.1 事務(wù)目標
一切的技術(shù)目標都是在有事務(wù)場景的條件下制定的
功用目標表明法
1.2 技術(shù)目標
1.2.1 時刻目標
RT-呼應(yīng)時刻:
接口/事務(wù)呼應(yīng)時刻-從主張請求到接收到呼應(yīng)的時刻。
1.2.2 容量目標
接口容量
接口的容量一般運用TPS/RPS來描繪。
事務(wù)容量
事務(wù)量一般由TPS目標來描繪,即系統(tǒng)每秒可以處理的事務(wù)量。
1.2.3 資源利用率目標
1.2.3.1 操作系統(tǒng)
CPU
IO
Mem
Disk
NetWork
1.2.3.2 JVM
GC
Classes
。。。
二、功用測驗中的模型
在功用測驗中,模型是對真實事務(wù)測驗場景的籠統(tǒng),用來描繪使用系統(tǒng)真實事務(wù)模型的樣子。
舉個比如,系統(tǒng)有 10 種事務(wù)場景,但并不是每個事務(wù)都需求有并發(fā)量,或許只要 5 個事務(wù)有,那就要把這些有并發(fā)的事務(wù)統(tǒng)計出來,哪個事務(wù)并發(fā)多,哪個事務(wù)并發(fā)少,做壓力時就要控制好這樣的份額。
獲取用戶行為形式的辦法:
1、假如系統(tǒng)現(xiàn)已上線運轉(zhuǎn),則選用系統(tǒng)日志剖析法獲取用戶行為統(tǒng)計和峰值并發(fā)量等重要信息;
2、對于一個全新系統(tǒng)來說,一般是參考行業(yè)中類似系統(tǒng)的統(tǒng)計信息進行剖析和建模。
三、功用測驗中的計劃
計劃規(guī)定的內(nèi)容中有幾個要害點,分別是測驗環(huán)境、測驗數(shù)據(jù)、測驗?zāi)P汀⒐τ媚繕恕毫?zhàn)略、準入準出和進度危險。
測驗環(huán)境:
1、測驗環(huán)境需求盡量做到與線上環(huán)境裝備保持一致,不然測驗沒有實際意義(不能反饋線上問題)
2、在大規(guī)模分布式系統(tǒng)中假如無法做到以生產(chǎn)一致,則需求剖析線上環(huán)境與測驗環(huán)境的差異,經(jīng)過核算得到相關(guān)的比值
測驗數(shù)據(jù):
測驗數(shù)據(jù)需求依據(jù)用戶行為模型以及當時系統(tǒng)的數(shù)據(jù)總量及分布批量生成
測驗?zāi)P?#xff1a;
測驗?zāi)P图聪嚓P(guān)的測驗場景
功用目標:
呼應(yīng)時刻
并發(fā)用戶數(shù)
吞吐量
壓力戰(zhàn)略:
測驗中用戶的添加戰(zhàn)略(如每隔1秒添加20個用戶)
準入準出規(guī)范:
即系統(tǒng)需求經(jīng)過功用測驗之后才能做壓力測驗
壓力測驗系統(tǒng)相關(guān)的目標達到需求規(guī)范后即可完結(jié)測驗
進度危險:
反饋測驗進程中發(fā)現(xiàn)的潛在系統(tǒng)危險,如壓測環(huán)境與線上環(huán)境不同較大、某一項系統(tǒng)目標呈現(xiàn)異常
四、功用測驗中的監(jiān)控
功用測驗中需求有系統(tǒng)監(jiān)控,系統(tǒng)監(jiān)控要有分層、分段的才能,既要有大局監(jiān)控也要有定向監(jiān)控的才能。
功用測驗剖析的才能階梯視圖:
1、東西操作:包含壓力東西、監(jiān)控東西、剖析東西、調(diào)試東西。
2、數(shù)值了解:包含上面東西中一切輸出的數(shù)據(jù)。
3、趨勢剖析、相關(guān)性剖析、證據(jù)鏈剖析:便是了解了東西產(chǎn)生的數(shù)值之后,還要把它們的邏輯聯(lián)系想明白。這才是功用測驗剖析中最重要的一環(huán)。
4、最后才是調(diào)優(yōu):有了第 3 步之后,調(diào)優(yōu)的計劃戰(zhàn)略就有很多種了,詳細選擇取決于調(diào)優(yōu)成本和產(chǎn)生的作用
功用剖析思路:
1、瓶頸的精準判別
1.1 TPS曲線
當添加壓力tps的遞加比之前要小,呼應(yīng)時刻卻在添加的時分,瓶頸或許就呈現(xiàn)了。
經(jīng)過TPS曲線可以判別系統(tǒng)是否存在瓶頸,瓶頸是否和嚴厲有聯(lián)系,若經(jīng)過不斷添加壓力 tps都會呈現(xiàn)相同的趨勢時,瓶頸就和壓力無關(guān),不然便是有聯(lián)系。
1.2 呼應(yīng)時刻曲線
ttps曲線才是用來判別系統(tǒng)是否有瓶頸的,呼應(yīng)時刻只是用來描繪事務(wù)的快慢。
2、線程遞加的戰(zhàn)略
壓力的遞加戰(zhàn)略有必要符合實際事務(wù)場景,即使是在秒殺場景中壓力也是遞加的不會一開端就上全部并發(fā)線程。
在做系統(tǒng)壓力測驗中,僅在改動壓力戰(zhàn)略(其他的條件比如環(huán)境、數(shù)據(jù)、軟硬件裝備等都不變)的狀況下,系統(tǒng)的最大 TPS 上限一般來時是固定的。
在遞加戰(zhàn)略測驗進程中,若每次添加壓力tps都會呈現(xiàn)抖動的狀況,則有或許是以下兩種或許:1、資源的動態(tài)分配不合理,如后端線程池、內(nèi)存、緩存等;2、測驗沒有進行數(shù)據(jù)預(yù)熱。
3、功用衰減的進程
當每一線程每秒的 TPS 開端變少時(總的tps還在添加),闡明功用瓶頸現(xiàn)已呈現(xiàn)了
當系統(tǒng)瓶頸呈現(xiàn)后,系統(tǒng)的處理才能(TPS)并不會立刻下降,TPS依舊會緩慢添加,此時系統(tǒng)功用正在衰減,tps終究達到上限。
4、呼應(yīng)時刻的拆分
在系統(tǒng)壓力測驗進程中,當系統(tǒng)達到了瓶頸,再繼續(xù)添加壓力,呼應(yīng)時刻就一定會上升,直到超時為止。
拆分呼應(yīng)時刻是為了進一步承認時刻首要消耗在哪個模塊。
在分布式使用系統(tǒng)中主張運用鏈路的監(jiān)控東西來拆分時刻。
5、構(gòu)建剖析決策樹
構(gòu)建剖析決策樹是對系統(tǒng)架構(gòu)的整理,是對系統(tǒng)的整理,是對問題的整理,是對查找證據(jù)鏈進程的整理,是剖析思路的整理。
剖析決策樹起到的是縱觀大局,高屋建瓴的指導(dǎo)作用。
其間RDBMS 中的 MySQL的決策樹如下:
操作系統(tǒng)的剖析決策樹如下:
剖析決策樹的意圖是為了找出系統(tǒng)呈現(xiàn)系統(tǒng)瓶頸的終究原因。
剖析決策樹協(xié)助咱們在剖析系統(tǒng)瓶頸時供給證據(jù)鏈查找思路。
功用測驗的終究意圖是發(fā)現(xiàn)造成系統(tǒng)瓶頸的問題點,并能經(jīng)過各種手段進行優(yōu)化是系統(tǒng)處于最優(yōu)狀態(tài)。
6、場景的比對。
當你覺得系統(tǒng)中哪個環(huán)節(jié)不可的時分, 又沒才能剖析它,你可以直接做該環(huán)節(jié)的添加。
可以經(jīng)過添加其間一臺使用服務(wù)器或者添加壓力機的方法,經(jīng)過比照測驗成果定位問題。
五、功用測驗中的場景
基準功用場景:這里要做的是單交易的容量,為混合容量做準備。
容量功用場景:確認系統(tǒng)可處理同時在線的最大用戶數(shù),使系統(tǒng)承受超額的數(shù)據(jù)容量來發(fā)現(xiàn)它是否可以正確處理。
穩(wěn)定性功用場景:穩(wěn)定性測驗必定是功用場景的一個分類。在穩(wěn)定性測驗中,明顯最核心的元素是時刻(事務(wù)模型現(xiàn)已在容量場景中確認了),而時刻的設(shè)置應(yīng)該來自于運維周期,而不是來自于老板、產(chǎn)品和架構(gòu)等這些人的心理安全感。
異常功用場景:要做異常功用場景,條件便是要有壓力。在壓力流量之下,模擬異常。
六、功用測驗中的剖析調(diào)優(yōu)
功用項目分類
新系統(tǒng)功用測驗類:
新的項目常常需求測驗出系統(tǒng)的最大容量,系統(tǒng)上線能抗住多少并發(fā)拜訪,上線前還需求將系統(tǒng)調(diào)至最優(yōu)狀態(tài)。
對與現(xiàn)已在線運轉(zhuǎn)的系統(tǒng):一般都是和舊版別做功用比照,確保新版班功用不會低于歷史版別,對調(diào)優(yōu)要求一般都不大。
七、功用測驗中的成果陳述
在功用測驗陳述中應(yīng)該著重表現(xiàn)一下兩點:
1、功用測驗的成果(是否存在瓶頸,假如存在導(dǎo)致存在的瓶頸的問題是什么)、是否滿意發(fā)版需求
2、調(diào)優(yōu)前后的 TPS、呼應(yīng)時刻以及資源比照圖。
總結(jié)
以上是生活随笔為你收集整理的松勤11期软件测试之Jmeter高级性能测试项目实战学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react 中使用Swiper轮播图插件
- 下一篇: LeetCode 1584 连接所有点的