什么要對(duì)接口壓測(cè)呢?
- 壓力測(cè)試可以用來(lái)驗(yàn)證軟件系統(tǒng)的穩(wěn)定性和可靠性,在壓力下測(cè)試系統(tǒng)的性能和穩(wěn)定性,發(fā)現(xiàn)并解決潛在的問(wèn)題,確保系統(tǒng)在高負(fù)載情況下不會(huì)崩潰。
- 壓力測(cè)試可以用來(lái)評(píng)估軟件系統(tǒng)的容量和性能,通過(guò)模擬高負(fù)載情況下的用戶訪問(wèn)量和數(shù)據(jù)量,測(cè)試系統(tǒng)的處理能力和響應(yīng)速度,找出系統(tǒng)的瓶頸和性能弱點(diǎn),并進(jìn)行優(yōu)化和改進(jìn)。
- 壓力測(cè)試可以用來(lái)確認(rèn)軟件系統(tǒng)的可用性和可用性,通過(guò)模擬用戶的不同操作場(chǎng)景和異常情況,測(cè)試系統(tǒng)的穩(wěn)定性、響應(yīng)速度、錯(cuò)誤處理能力和容錯(cuò)能力,確保系統(tǒng)能夠在不同條件下正常運(yùn)行,滿足用戶的需求。
- 壓力測(cè)試可以用來(lái)研究新的技術(shù)和算法,在高負(fù)載情況下測(cè)試新的軟件系統(tǒng)和技術(shù)的性能和穩(wěn)定性,找出性能瓶頸和優(yōu)化點(diǎn),為軟件系統(tǒng)的優(yōu)化和改進(jìn)提供依據(jù)。
相關(guān)說(shuō)明
技術(shù)棧: 采用Nginx?+?Springboot + redis? + JMeter? ?對(duì)接口進(jìn)行壓力測(cè)試:
1、Nginx: 做負(fù)載均衡? 、Nginx會(huì)負(fù)載到 8080 8081 這兩個(gè)服務(wù)上去?。
2、Springboot? : 后臺(tái)啟動(dòng)兩個(gè)實(shí)例? 8080 和 8081 。
3、redis: 設(shè)置key value?商品庫(kù)存值為600 。? ?
4、JMeter: 對(duì)商品接口進(jìn)行壓測(cè)。
注意:??使用Jmeter對(duì)商品接口進(jìn)行壓測(cè)、重點(diǎn)是使用JMeter壓測(cè)工具、其他不是重點(diǎn)那就開(kāi)始吧。?
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-454867.html
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-454867.html
JMeter創(chuàng)建壓測(cè)計(jì)劃
?1、第一步肯定是先打開(kāi)壓測(cè)工具了。
?2、創(chuàng)建線程組
選中測(cè)試計(jì)劃右擊添加線程組? ?Add →?Threads(Users) →?Thread Group
?
?
??2、設(shè)置線程數(shù)和循環(huán)次數(shù)。我這里設(shè)置線程數(shù)為200,在一秒執(zhí)行完200個(gè)線程,循環(huán)一次
?這圖什么意思呢? 就是說(shuō)JMeter啟動(dòng)200個(gè)線程在一秒內(nèi),同時(shí)往后臺(tái)商品接口發(fā)送請(qǐng)求。
?
?
?3、創(chuàng)建Http請(qǐng)求
選中線程組 右擊? ?Add?→ Samlper?→HTTP Request
?
?
??4、輸入?yún)f(xié)議、IP地址及端口號(hào)、選擇請(qǐng)求方法、輸入路徑,內(nèi)容編碼一般為utf-8,輸入請(qǐng)求參數(shù)
我這里就使用HTTP直接壓了,?輸入請(qǐng)求類型get 或 post? 然后輸入請(qǐng)求地址??
?
???5、在壓測(cè)開(kāi)始之前 需要添加一個(gè)聚合報(bào)告
? ?選中HTTP?Request 右擊? ?Add?→?Listener →??Aggregate Repor
? ?Aggregate Repor:聚合報(bào)告? View Results Tree:結(jié)果樹(shù)
?添加完聚合報(bào)告和結(jié)果樹(shù)后?,開(kāi)始啟動(dòng)運(yùn)行!
?
?
開(kāi)始
?你會(huì)發(fā)現(xiàn)彈框了, 這是詢問(wèn)是否要保存這次壓測(cè)計(jì)劃,也就是說(shuō)下次還可以接著復(fù)用。?
?
?聚合報(bào)告
執(zhí)行完畢的聚合報(bào)告, 1秒壓完200個(gè)請(qǐng)求 剛開(kāi)始結(jié)束了!
?
后臺(tái)商品扣減日志
8080服務(wù)后臺(tái)的日志
?
8081服務(wù)后臺(tái)的日志
?
總結(jié):? 通過(guò)JMeter 壓測(cè)模擬出 商品接口超賣(mài)問(wèn)題, 上圖可以看出 我8080服務(wù) 已經(jīng)扣減了庫(kù)存,在看8081服務(wù) 也有相同扣減的數(shù)量 。? 說(shuō)明什么問(wèn)題? 是不是測(cè)出了接口存在并發(fā)問(wèn)題。這就相當(dāng)于我有很用戶來(lái)?yè)寲|西 ,這接口明顯就是沒(méi)有做分布式鎖,導(dǎo)致所有線程都來(lái)?yè)寣?dǎo)致超賣(mài),所以說(shuō)JMeter 就是來(lái)驗(yàn)證軟件系統(tǒng)的穩(wěn)定性和可靠性。
?
?
?
?
?
?
到了這里,關(guān)于JMeter壓力測(cè)試案例(商品超賣(mài)并發(fā)問(wèn)題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!