原文鏈接:http://www.cnblogs.com/whitewasher/p/6946207.html
?在使用Jmeter進(jìn)行接口的性能測試時(shí)絮吵,由于Jmeter?是JAVA應(yīng)用哟沫,對(duì)于CPU和內(nèi)存的消耗比較大榕吼,所以坑匠,當(dāng)需要模擬數(shù)以萬計(jì)的并發(fā)用戶時(shí),使用單臺(tái)機(jī)器模擬所有的并發(fā)用戶就有些力不從心朋腋,甚至?xí)餔AVA內(nèi)存溢出錯(cuò)誤轴脐。為了讓jmeter工具提供更大的負(fù)載能力,這時(shí)可以使用Jmeter提供的分布式功能來啟動(dòng)多臺(tái)電腦來分壓測試砾嫉。
一幼苛、Jmeter分布式執(zhí)行原理:
1、Jmeter分布式測試時(shí)焕刮,選擇其中一臺(tái)作為控制機(jī)(Controller)舶沿,其它機(jī)器做為代理機(jī)(Agent)墙杯。
2、執(zhí)行時(shí)括荡,Controller會(huì)把腳本發(fā)送到每臺(tái)Agent上高镐,Agent 拿到腳本后開始執(zhí)行,Agent執(zhí)行時(shí)不需要啟動(dòng)Jmeter畸冲,只需要把jmeter-server.bat文件打開嫉髓,它應(yīng)該是通過命令行模式來執(zhí)行的。
3邑闲、執(zhí)行后算行,Agent會(huì)把結(jié)果回傳給Controller,Controller會(huì)收集所有Agent的信息并匯總苫耸。
二州邢、代理機(jī)(Agent)配置:
1、Agent機(jī)上需要安裝JDK褪子、Jmeter量淌,并且配置好環(huán)境變量。
2嫌褪、打開“運(yùn)行”呀枢,輸入"cmd",打開運(yùn)行面板,輸入“ipconfig”渔扎,找到IP地址硫狞,例如是:192.168.8.149
3信轿、打開Jmeter/bin/jmeter.properties晃痴,找到”remote_hosts=127.0.0.1”,把這一行修改為”remote_hosts=192.168.8.149:1099,1099是端口號(hào),可以隨意自定義财忽。
4倘核、打開jmeter-server.bat文件,就設(shè)置完成了即彪,等待控制機(jī)(Controller)啟動(dòng)紧唱。
三、控制機(jī)(Controller)配置:
1隶校、Controller機(jī)上需要安裝JDK漏益、Jmeter,并且配置好環(huán)境變量深胳。
2绰疤、打開“運(yùn)行”,輸入"cmd",打開運(yùn)行面板舞终,輸入“ipconfig”轻庆,找到IP地址癣猾,例如是:192.168.8.174
3、打開Jmeter/bin/jmeter.properties余爆,找到”remote_hosts=127.0.0.1”,把這一行修改為”remote_hosts=192.168.8.149:1099,192.168.8.174:1099纷宇,1099是端口號(hào),可以隨意自定義蛾方。如果有多臺(tái)代理機(jī)像捶,這里需要把所有的代理機(jī)的IP地址和端口號(hào)都加入進(jìn)來。
4桩砰、打開jmeter-server.bat文件作岖,設(shè)置完成了。
四五芝、開始添加線程組和請(qǐng)求來運(yùn)行查看結(jié)果:
1痘儡、打開jmeter.bat文件,添加線程組枢步,編輯線程數(shù)沉删,這里設(shè)置100個(gè)線程數(shù),循環(huán)2次醉途,就是一臺(tái)機(jī)器發(fā)送100*2=200個(gè)請(qǐng)求矾瑰。
2、添加HTTP請(qǐng)求隘擎,這里以訪問淘寶為例殴穴。
3、添加察看結(jié)果數(shù)和聚合報(bào)告货葬,點(diǎn)擊運(yùn)行采幌,可以選擇遠(yuǎn)程啟動(dòng)或者遠(yuǎn)程全部啟動(dòng),如果是點(diǎn)擊遠(yuǎn)程啟動(dòng)震桶,可以選擇任意一臺(tái)電腦來運(yùn)行休傍,如果是點(diǎn)擊遠(yuǎn)程全部啟動(dòng)就會(huì)運(yùn)行控制機(jī)和所有的代理機(jī)。
4蹲姐、這里以點(diǎn)擊遠(yuǎn)程全部啟動(dòng)為例磨取。運(yùn)行結(jié)束后,查看聚合報(bào)告柴墩,每臺(tái)電腦設(shè)置的線程數(shù)為200忙厌,這里一共是兩臺(tái)電腦,所以是200*2=400個(gè)線程數(shù)江咳。