jmeter 高并发测试报告_JMeter分布式测试
一、為什么要使用分布式測試
按照一般的壓力機配置,jmeter的GUI模式下(Windows),最多支持300左右的模擬請求線程,再大的話,容易造成卡頓、無響應(yīng)等情況,這是限于jmeter其本身的機制和硬件配置。
有時候為了盡量模擬業(yè)務(wù)場景,需要模擬大量的并發(fā)請求,這個時候單臺壓力機就顯得有心無力。針對這個情況,jmeter的解決方案是支持分布式壓測,即將大量的模擬并發(fā)分配給
多臺壓力機,來滿足這種大流量的并發(fā)請求場景。
二、分布式壓測的原理
1、分布式測試中,選擇一臺作為管理機(Contorller),其他的機器作為測試執(zhí)行的代理機(Agent);
2、執(zhí)行測試時,由Contorller通過命令行將測試腳本發(fā)給Agent,然后Agent執(zhí)行測試(不需要啟動GUI),同時將測試結(jié)果發(fā)送給Contorller;
3、測試完成,可以在Contorller上的監(jiān)聽器里面看到Agent發(fā)來的測試結(jié)果,結(jié)果為多個Agent測試結(jié)果匯總而成;
三、分布式設(shè)置步驟
1、修改Contorller配置
打開Contorller機下jmeter安裝文件下的bin目錄:jmeter.properties文件,搜索remote_hosts=127.0.0.1,將Agent機的IP和端口寫在后面,比如:
remote_hosts=127.0.0.1,127.0.0.2:80,127.0.0.3:80
其中127.0.0.2和127.0.0.3為Agent機的IP,每個Agent機之間用英文半角逗號隔開,修改保存。
2、啟動jemter
啟動jmeter后,設(shè)置線程組、配置元件、取樣器、監(jiān)聽器等原件,點擊“運行-遠程啟動”:
可以選擇遠程啟動一個Agent機,或者選擇遠程全部啟動,這樣,就可以進行分布式測試了。
PS:上面的例子中,127.0.0.2和127.0.0.3為舉例說明,具體實踐請修改為對應(yīng)的Agent機IP以及端口。
四、注意事項
1、保持Contorller和Agent機器的JDK、jmeter以及插件等配置版本一致;
2、如果測試數(shù)據(jù)有用到CSV或者其他方式進行參數(shù)化,需要將data pools在每臺Agent上復(fù)制一份,且讀取路徑必須保持一致;
3、確保Contorller和Agent機器在同一個子網(wǎng)里面;
4、檢查防火墻是否被關(guān)閉,端口是否被占用(防火墻會影響腳本執(zhí)行和測試結(jié)構(gòu)收集,端口占用會導(dǎo)致Agent機報錯);
5、分布式測試中,通過遠程啟動代理服務(wù)器,默認查看結(jié)果樹中的響應(yīng)數(shù)據(jù)為空,只有錯誤信息會被報回;
6、如果并發(fā)較高,建議將Contorller機設(shè)置為只啟動測試腳本和收集匯總測試結(jié)果,在配置文件里去掉Contorller機的IP;
7、分布式測試中,如果1S啟動100個模擬請求,有5個Agent機,那么需要將腳本的線程數(shù)設(shè)置為20,否則模擬請求數(shù)會變成500,和預(yù)期結(jié)果相差太大。
總結(jié)
以上是生活随笔為你收集整理的jmeter 高并发测试报告_JMeter分布式测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 买板材应该选什么品牌?想找一个放心品牌。
- 下一篇: 谷歌浏览器怎么重发请求_Googel 浏