天天看点

基于 jmeter 的分布式性能测试实战

最近作者在公司部署公司的分布式压力​​测试​​情况的时候,遇到了问题,什么问题呢,各种错误,于是大晚上的为了不耽误压测,我们就两个同事两台电脑搞,可是还是不行的呢,我要研究研究这个是什么梗,于是乎,大晚上加班回家后,白天睡醒第一件事就是来着手在自己家的电脑试试,庆幸的事实我目前手里正好有unbantu的一个系统,那么我就开始实战吧,首先去unbantu部署我的jmeter的环境。要做就要做的最明白。同志们说,少废话,你不上代码你不上步骤就是忽悠小弟,我也是这么觉得的。那么我来给你上步骤。请看。客官。

首先呢,环境部署, 我要用最新的jmeter尝试,所以呢,​​http://jmeter.apache.org/download_jmeter.cgi​​ 官网​​下载​​吧,小伙伴们。

需要安卓​​java​​,注3.2的jmeter必须要1.8.0系统的​​java​​,至于java 我想各位都可以,其实我的更简单,360软件直接下载了一个。傻瓜式操作,在我的window环境的java搞好,我们下载jmeter的包也已经下载好了,小伙伴们,有没有什么想要问我,这个怎么安装,其实这里不用安装解压就好,解压好,点击bin下的jmeter.bat开始运行,那么接下来就是去unbantu搞环境变量去了。使用命令行安装 sudo apt-get install java 就可以直接进行安装压缩包,然后解压tar -zxvf jdk-8u101-​​linux​​-x64.tar.gz 然后进入 vi /etc/profile 配置环境变量

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111/ export# 你自己的路径

JRE_HOME=/usr/lib/jvm/jdk1.8.0_111/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH

然后source ~/.profile 立即生效配置文件

然后java -version,

jmeter下载,去官网,下载,然后解压,

配置环境变量 vi /etc/profile

export PATH=/opt/apache-jmeter-2.13/bin/:$PATH

export JMETER_HOME=/usr/local/jmeter/apache-jmeter-3.1
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:$HOME/bin
然后source ~/.profile 
然后可以去查看jmeter的版本      

安装远程ssh登录,我怕不安装会引起其他坑,安装命令:sudo apt-get install openssh-server

sudo ps -e |grep ssh 看服务是否启动,未启动 sudo ps -e |grep ssh,启动

sudo gedit /etc/ssh/sshd_config 修改配置文件

PermitRootLogin yes 注释了,我从crt 可以正常登录了,我感觉。

然后在window去配置

jmeter.properties 的remote_hosts=192.168.1.102:1099#你的机器名字

然后运行 jmeter

基于 jmeter 的分布式性能测试实战

远程还是出错了,于是 一顿查找,后来,分析是因为我的jmeter服务在远程没有开启

jmeter-server -Djava.rmi.server.hostname=192.168.1.102

基于 jmeter 的分布式性能测试实战

服务启动

然后在ubantu运行后,在链接,还是有问题

remote_hosts=192.168.1.102:1099 然后我看着配置文档这么配置

可以正常链接

远程运行可以这么选择

基于 jmeter 的分布式性能测试实战

都可以启动,那么我们来看看运行,我的中枢神经的master这么展示

基于 jmeter 的分布式性能测试实战

我来看看我的远程的​​服务器​​slave机器,也就是执行机器

基于 jmeter 的分布式性能测试实战

我每次执行都会给我记录日志在屏幕

其实我感觉要是远程可以自动重启服务就好了