甲方爸爸要求,用Linux壓測...... 因此在公司服務器Linux上搭建Jmeterhtml
但實際一個Jmeter程序也有程序瓶頸~java
因此在Jmeter瓶頸下,搭建分佈式壓測系統。(也許能夠嘗試在一臺機器上安裝多個Jmeter....這個我卻是沒嘗試)linux
拓撲圖以下:分佈式測試系統在同一個局域網內shell
1.安裝Xshell,依據提供的ip,用戶,密碼登陸服務器apache
xshell鏈接linux,參考網址:http://www.javashuo.com/article/p-acqkxhyg-kb.html
vim
2.測試服務器是否安裝JDKwindows
輸入命令:java -version (公司服務器都有部署系統,JDK固然就有咯~)服務器
JDK安裝:https://baijiahao.baidu.com/s?id=1625872524161069279&wfr=spider&for=pc分佈式
3.安裝Jmeteride
(1)建立文件夾Jmeter(管理測試相關工具和腳本)
命令:mkdir Jmeter //建立文件夾
命令:ll //查看詳情
命令:cd Jmeter //進入Jmeter文件夾目錄下
(2)安裝上傳下載工具包rz及sz
命令:yum install -y lrzsz //這個工具能夠實現windows與linux互傳文件
從Windows上傳文件,上傳命令爲rz; 從Linux下載文件指令爲sz; 上傳的文件在當前命令行的目錄下;
(3)rz 上傳apache-jmeter-4.0.zip
先將本機中的apache-jmeter-4.0壓縮(使用本身已經配置好的jmeter,上傳解壓後就能直接使用)
命令:cd Jmeter //進入本身建立的文件夾目錄下
命令:rz //上傳壓縮包
命令:ll //查看目錄詳情
(4)解壓apache-jmeter-4.0.zip
命令:unzip apache-jmeter-4.0.zip //解壓zip 命令:ll //查看目錄詳情
進入apache-jmeter-4.0/bin目錄下
(5)啓動jmeter
命令:./jmeter.sh //啓動jmeter
無權限啓動!!!
命令:chmod 777 jmeter.sh //賦予這個啓動項權限,可是也不能直接啓動,哎
因此仍是須要,=。=|||配置jmeter環境
使用命令啓動,無GUI模式(jmx腳本最好刪除全部的監聽器,命令啓動原本就沒有視圖,且能避免資源佔用)
命令:pwd //查看當前目錄,進入apache-jmeter-4.0後,輸入這個命令能得到當前目錄 /root/Jmeter/apache-jmeter-4.0
//服務器vim也沒有 命令:yum -y install vim* //安裝vim 命令:vim /etc/profile //將下面代碼複製到Profile這個文件中,vim的操做就不細說了~ 注意已存在的環境變量,把jmeter的複製過去 export JMETER_HOME=/root/Jmeter/apache-jmeter-4.0 export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH export PATH=$JMETER_HOME/bin/:$PATH
而後啓動配置文件(只要修改了,就須要再次啓動):source /etc/profile
java -version(查看Java信息)
jmeter --version(查看jmeter信息)
出現了上面這個問題的緣由是JDK版本過低,換個1.8的就OK了
命令:jmeter -n -t test.jmx -l log.jtl //無GUI運行當前目錄下的test.jmx,並將結果保存到log.jtl中
4.分佈式運行Jmeter
能夠參考這2篇博文:
http://www.javashuo.com/article/p-unrfwwnh-eh.html
https://www.sunjs.com/article/detail/30f73b27fdc24c2eaf6ccddc0b48d3c9.html
把本機做爲master,服務器做爲slave。
這樣就能夠在本機看到圖形化的結果,而且監聽CPU和內存了
遇到的問題:ConnectException:Connection refused to host ......
我配置的是1099端口,讓研發配置&開啓下這個端口。
而後在master機上:telnet 1:1:1:1 1099 通了就能夠用了
(遇到這種拒接鏈接的問題,先ping ip再telnet ip:port)