linux查找文件命令:find / -name 文件夹
1.配置java环境
(1)下载java,jdk安装包,并将此安装包拷贝到linux机器上
(2)新建jdk目录,并解压jdk安装包到该目录下:
[root@localhost ~]# mkdir jdk
[root@localhost ~]# tar -zxvf jdk-10-linux-x64.tar.gz -C /jdk
(3)设置环境变量:
[root@localhost software] # vi /etc/profile
输入i命令,添加以下内容:
JAVA_HOME=/usr/lib/jvm/jdk-10
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JAVA_HOME JRE_HOME CLASS_PATH PATH
esc退出当前编辑,退出并保存当前设置(:wq!)
(3)执行profile文件,无需重新启动机器
[root@localhost software] # source /etc/profile
(4)检查是否安装成功
[root@localhost software] # java -version
java version "10"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
2.配置tomcat
(1)下载tomcat,并拷贝到linux服务器上
(2)解压 tar -zxvf apache-tomcat-8.0.1.tar.gz
(3)设置环境变量
vi /etc/profile
输入i命令,添加以下内容:
JAVA_HOME=/usr/lib/jvm/jdk-10
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
esc退出当前编辑,退出并保存当前设置(:wq!)
(3)执行profile文件,无需重新启动机器
[root@localhost software] # source /etc/profile
(4)修改tomcat启动端口
[root@localhost software] # cd apache-tomcat-8.0.1/conf
[root@localhost conf] # vi server.xml
修改将Tomcat服务器启动时使用的端口,例如改成9999,修改完保存退出
(5)进入tomcat服务器的bin目录,然后执行"./startup.sh"命令启动Tomcat服务器
3.配置jmeter
(1)下载jmeter3.3.zip,ServerAgent-2.2.1.zip,并上传到服务器,分别解压,unzip 文件名
(2)设置环境变量,加入下面俩行
[root@localhost software] # vi /etc/profile
按字母i键,出现--INSERT--移动光标修改内容
export JMETER_HOME=/data/apache-jmeter-3.3
export PATH=$JMETER_HOME/bin:$PATH:
按ESC键,退出编辑,在按“:”后输入wq,即(:wq)保存
(3)执行profile文件,无需重新启动机器
[root@localhost software] # source /etc/profile
(4)检查是否安装成功
[root@localhost software] #cd jmeter3.3/bin
[root@localhost software] # jmeter -v
4.执行脚本
执行脚本test.jmx,进入jmeter目录下的bin文件
jmeter -n -t 目录/文件名.jmx -l 目录/测试结果名.jtl
[root@localhost bin] # jmeter -n -t TestPlans/test.jmx -l TestPlans/test.jtl
下载报告
[root@localhost bin] # sz test.jtl
执行成功,
关于报错:
如果出现:Error in NonGUIDriver java.lang.RuntimeException: Could not find the TestPlan class
原因:在客户端保存的的不是测试计划,而是其中的节点,
解决:只要在客户端选择“文件--测试计划另存为”,并上传新的问件即可
原因:上传的jmx文件里面有些插件,服务器的jmeter没有,
解决:只要保持一致就可以了
5.多台服务器部署jmeter
(1)修改ip和端口
[root@localhost bin] #vi jmeter.properties
修改remote_hosts修改成安装部署的服务器的ip地址,并保存
(2)远程启动,
首先启动各服务器的jmeter-server,然后执行脚本
[root@localhost bin] #jmeter-server
jmeter -n -t TestPlans/test.jmx -l TestPlans/test.jtl -e -o 空文件夹(写入的是html格式的报告)
如果已经生成结果文件(.jtl),可运行如下命令生成报告
jmeter -g result.jtl -o /tmp/ResultReport
先压缩然后下载下来zip -q -r 文件夹名.zip 文件夹路劲名
jmeter -n -t TestPlans/test.jmx -R ip地址,ip地址 -l TestPlans/test.jtl 执行ip地址下的脚本
jmeter -n -t TestPlans/test.jmx -r -l TestPlans/test.jtl 执行上面配置的所有的ip服务器下的脚本(注:在本机也要执行脚本,也要启动jmeter-server,不然会报拒绝连接)
关于报错:
如果出现localhost is a loopback address
原因:java.rmi 的这个地址没有配置
解决:1. 执行命令./jmeter-server -Djava.rmi.server.hostname=192.168.1.105 去启动
2.修改jmeter-server的host地址,并保存
对于没有权限的文件,执行命令 chmod 777 文件名
删除命令 rm 文件名 删除目录 rm -rf 目录
(3)ServerAgent-2.2.1
进入文件夹下,在被测服务器下启动 ./startAgent.sh ,即可监控
6.虚拟ip
x-Forwarded-For:211.154.249.${__Random(186,206,)}
7.注意事项:
对于远程的CVS文件读取的,路劲只要填写文件名称即可
8.杀进程的问题
查询jmeter进程:
ps -ef | grep "jmeter" | grep -v grep | awk '{print $2}'
ps -ef | grep jmeter
普通的启动 命令:jmeter-server,查询不到进程号
nohup ./jmeter-server &启动 用grep 可以看到进程号,也可以用kill杀进程
最后一行是找到的自己
ps -ef |grep jmeter |grep -v grep 可以不用查找这条
awk '{print $2}' 提取进程号
要把nohup.out对系统的影响降低,最简单的方法让nohup执行后不产生日志文件,可以在nohup命令行中增加输出目标文件,并指向/dev/null。也就是 nohup ./run.sh >/dev/null &,这样可以保证nohup.out文件不会自动生成;另外也可以编辑./run.sh文件,使该运行脚本简单化。比如nohup java com.xxx.xxx.Main >/dev/null &。
--------
9.连接到其他服务器
ssh root@192.168.31.27
连接到第二台服务器192.168.31.27
./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport
参数说明:
-n : 非GUI 模式执行JMeter
-t : 执行测试文件所在的位置及文件名
-r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
-l : 指定生成测试结果的保存文件, jtl 文件格式
-e : 测试结束后,生成测试报告
-o : 指定测试报告的存放位置
-o 指定的文件及文件夹,必须不存在 ,否则执行会失败,对应上面的命令就是resultReport文件夹必须不存在否则报错
二、如果已经存在结果文件(.jtl),可运行如下命令生成报告
jmeter -g result.jtl -o /Report
命令参数解析:
-g : result.jtl 已经存在的.jtl文件的路径。
-o :用于存放html报告的目录
/jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport
-g : 指定已存在的测试结果文件
-e :测试结果后,生成测试报告
-o : 指定测试报告的存放位置
-o 指定的文件及文件夹,必须 不存在 ,否则执行会失败
第一种和第二种其实最终都依赖生成的jtl文件,将jtl文件生成测试报告。双击测试报告中的index.html文件即可查看报告内容