第二步:jmeter中新增需要測試的介面
b.http請求預設值設定如下:
在eclipse中編寫需要加密的**,除錯成功後,在elipse中到處jar包
將匯出的jar放到jmeter安裝目錄下的lib資料夾下;
因為sign欄位是由:時間戳+$+key加密而成,所以我們先需要獲取時間戳:
因為所有介面中的sign規則相同,所以將需要的3個字段在測試計畫中新增即可
新增完成後,在jmeter中新增beanshell sampler,匯入該jar包,將需要的字串引用該方法即可,首先定義各個字串,將字串拼接後引用加密的方法,加密後的字元存到sign1中,設計如下:
在介面中引用該sign1欄位:
d.介面的請求引數值需要從資料庫中隨機獲取,那麼設計如下:
新增jdbc connection configuration設定
再新增jdbc request,首先需要將jdbc connection configuration中的
與jdbc request中的
設定相同;然後將從資料庫中獲取需要的引數值,將所有的資料儲存到result物件中,
在beanshell中獲取儲存id值的物件,並隨機讀取
在請求引數中引用,sign與times獲取方式如上設定一致,id的字段即從資料庫中隨機獲取的值;
除錯無問題後,設定檢視結果:
監控測試的伺服器需要用pmc
在測試伺服器中加入
在測試伺服器中linux伺服器上首先將startagent.sh設定為可執行檔案:
chmod 777 startagent.sh
./startagent.sh執行檔案
如果要將該檔案設定為後台執行不關閉
nohup ./startagent.sh &
啟動服務後,再進行壓力測試。
因為壓力測試,需要分布式壓力測試:
e.點選「全程啟動」進行壓力測試,再對結果進行分析:
聚合報告分析
根據聚合報告以及圖形結果各項引數指標分析
(1)每間隔一秒鐘併發的執行緒數越多,介面99%line引數值先增加後減小,多少個執行緒時基本達到峰值;
(2)每間隔一秒鐘併發的執行緒數越多,吞吐量先減後增,每秒鐘完成的請求數減幅較大。
據圖形結果分析
(1)隨著傳送到伺服器的請求數越來越多,偏離數量越來越大,伺服器越來越不穩定;
(2)傳送到伺服器的請求數增加,吞吐量(即伺服器每分鐘處理的伺服器的請求)先減少後增加。
一般情況下,當使用者能夠在2秒以內得到響應時,會感覺系統的響應很快;當使用者在2-5秒之間
得到響應時,會感覺系統的響應速度還可以;當使用者在5-10秒以內得到響應時,會感覺系統的
響應速度很慢,但是還可以接受;而當使用者在超過10秒後仍然無法得到響應時,會感覺系統糟
透了,或者認為系統已經失去響應,而選擇離開這個web站點,或者發起第二次請求。
ab cookie 壓力測試介面
ab是apache自帶的壓力測試工具,近期需要壓測乙個介面,涉及使用post請求,並在其中帶cookie。方法總結如下 1.傳送cookie 方法1 c key1 value1 key2 value2.1例 ab n 1 c name ball age 99 male 1服務端可拿到name,age...
介面壓力測試軟體jmeter
另外如果介面請求的是json引數,請參考 這裡說優化方案 當用壓力測試軟體測試介面在高併發的情況下出現記憶體溢位,資料庫死鎖等系統奔潰情況的時候,就要考慮優化 優化途徑一般有二 1 用redis快取 public list getuserinfobycache integer userid gett...
Linux 介面併發壓力測試
webbench安裝 wget wget tar zxvf webbench 1.5.tar.gz make sudo make install 執行 webbench c 併發數 t 併發時間 webbench c 300 t 10 ab命令原理 apache的ab命令模擬多執行緒併發請求,測試伺...