目錄
一、前言
二、優惠券秒殺壓測配置
三、已配置token但是請求全部爆紅的問題
四、配置JSON斷言后的效果
一、前言
在學習黑馬點評優惠券秒殺功能的壓力測試時,由于老師沒有任何引導而是直接開始測試,所以本博客記錄一下JMeter壓測黑馬點評優惠券秒殺的配置。同時,我還發現了一些比較奇怪的問題,通過搜索其他博客及自己嘗試成功解決,所以記錄分享一下,希望對你有幫助
下面提供的鏈接是之前我自己寫的兩篇博客:
壓測軟件JMeter安裝配置以及創建桌面快捷方式(詳細圖解)-CSDN博客
使用JMeter進行壓力測試(以黑馬點評為例、詳細圖解)-CSDN博客
二、優惠券秒殺壓測配置
首先可以把相應的一些名字改一下,這是第二次進行壓測,改下名字能更清晰一點。將測試計劃改為黑馬點評,將之前那次的壓測線程組改為緩存穿透
依次按照下圖從左往右在黑馬點評目錄下新建一個線程組
點擊一下新建的線程組,將名稱、線程數還有Rame-Up時間改為下圖所示(和視頻中保持一致)
同理從左往右操作,在秒殺搶購單人目錄下新建一個HTTP請求
點擊一下HTTP請求,將如圖所框的數據填寫上去,注意這里的/voucher-order/seckill/11的最后數字是按你數據庫中存在且要用來進行壓力測試的秒殺優惠券id(改成自己id,不是統一的)
按如圖步驟在HTTP請求下新建一個HTTP信息頭管理器(因為項目由攔截器,這里如果不帶上token直接請求肯定是失敗的)
點擊一下HTTP信息頭部管理器,修改名稱為登錄狀態頭(和視頻一樣,不改當然也可以),然后找到底部點擊一下添加按鈕,然后名稱填authorization,值就是填寫token(去數據庫里找,在前端開發者模式找都行,學到這里就不再贅述了)
然后可以點擊保存(好像點擊左上角的也可以),但是載入旁邊的保存會跳出選擇文件保存路徑的界面,而左上角的好像不會(我也沒搞懂,反正我就點左上角的)
如圖按步驟新建查看結果樹和聚合報告在HTTP請求目錄下(這兩個建了就行沒有什么要動的)
如圖按步驟新建JSON斷言在HTTP請求目錄下
將JSON斷言按如圖進行配置,Path exist:填的是$.success(為什么配置這個到第三部分就知道了)
點擊一下秒殺搶購單人,右鍵選擇啟動(或者是點擊上面綠色的箭頭啟動),測試的結果可以參考第三部分
三、已配置token但是請求全部爆紅的問題
先看看我本人一開始出現的情況:
order表出現109條數據
seckill_voucher表相應的秒殺優惠券的stock變為-9
請求全部爆紅,但是狀態碼卻是200(這樣看的話,說明其實壓力測試沒問題,包括數據庫都是和視頻中是一樣的,狀態碼也是200,但是就是所有請求都爆紅)。經過查別人的博客發現就是要改JSON的斷言,但是我也搞不懂為啥,反正能解決(看別的博客說不管照樣學也沒問題)
四、配置JSON斷言后的效果
數據庫就不說了,還是109條order和-9
查看結果樹有綠也有紅(前面都是紅的,只要下拉有綠的就成功了)
可以看到異常類率有72%,但是總比100%異常率好吧
更新補充一下:這個異常率要準確的話,每次壓測之前都要在JMeter中清除全部(難怪每次和視頻中的異常率對不上)。因為不清除的話異常率是會算上之前的數據的,就不準確了,下面是我新記錄的一篇博客
JMeter每次壓測前清除全部以確保異常率準確(以黑馬點評為例、詳細圖解)-CSDN博客