一、安装jdk,安装步骤如下:
(1)检查当前系统已安装jdk的版本: rpm -qa | grep jdk,若未安装则执行下一步骤
(卸载命令rpm -e --nodeps jdk-8u141-linux-x64
【jdk-8u141-linux-x64为jdk版本信息】)
(2)安装jdk1.7: 将jdk-7u79-linux-x64.rpm文件拷到/opt/目录下,执行命令:
>>cd /opt/
>>rpm -ivh jdk-7u79-linux-x64.rpm
确认安装成功:
>>rpm -qa | grep jdk
(3)最后修改vi /etc/profile,在文件的最后添加如下内容:
JAVA_HOME=/opt/jdk1.7.0_75
PATH=$;">
CLASSPATH=.:$;">
export JAVA_HOME
export PATH
export CLASSPATH
(4)保存退出
(5)再次登录liunx,检查jdk是否安装成功:输入java、输入java -version,能查看到版本即jdk安装成功
二、安装jmeter,步骤如下:
(1)直接将 windows使用的jmeter拷贝至opt目录下面,即apache-jmeter-2.13版本
[也可以下载apache-jmeter-2.12.tgz移动到/opt目录下,解压:tar -zxvf apache-jmeter-2.12.tgz]
(2)配置环境变量:vi /etc/profile,输入:
export PATH=/opt/apache-jmeter-2.13/bin/:$PATH
保存退出
(3)重新登录linux系统,检验jmeter是否可以运行:jmeter -v
Copyright (c) 1998-2015 The Apache Software Foundation
Version 2.13 r1665067
安装成功后,使用jmeter。将xianchengzu.jmx移动到root目录下,在根目录下执行
jmeter -n -t datasend.jmx -l log.jtl
查看生成的jtl文件直接用jmeter的聚合报告中浏览文件,即可查看
性能压测
需求:(1)在Linux下发送http请求
(2)从两个csv文件中读取不同的数据进行压测。
1、添加Jmeter测试计划:保存之后是.jmx文件。将.jmx文件和.csv文件(数据)上传到linux下,注意.csv文件的路径
在jmeter的bin目录下执行 $jmeter -n -t ***.jmx -l log.jtl就可以执行这次测试计划。
参数说明:
-n表示以nogui方式运行测试计划
-t表示测试计划,后面跟测试计划名称
-l表示测试结果,后面跟测试结果文件名称
结果说明:
2、由于我们要不停的修改并发数,可以在***.jmx文件中进行修改。但是每次都要打开文件修改比较麻烦,我们可以通过shell脚本来实现:通过输入参数来修改并发数。
那么我们现在就可以通过$sh run.sh 并发数 命令来执行测试计划了。
在压测的过程中,还可以通过top -p Pid 来查询某个进程信息,同时使用vmstat命令来观察测试情况。
如:通过端口号来查找进程命令:$ netstat -anp | grep 8088
显示指定的进程信息: $top -p Pid
查看整个机器的cpu、内存,IO信息:$vmstat 2
附:Jmeter命令行选项:
JMeter在windows系统下启动的是一个Swing GUI界面,也可以在Linux/Unix系统中作为一个命令使用。调用JMeter的 “jmeter -?”命令将打印所有命令选项的一个列表。列表如下:
-h, --help 打印使用信息并退出
-v, --version 打印版本信息并推出
-p, --propfile {argument} 使用的JMeter属性文件
-q, --addprop {argument} 附加的属性文件
-t, --testfile {argument} 运行的jmeter测试文件(.jmx)
-l, --logfile {argument} 日志取样文件
-n, --nongui 非用户界面运行JMeter
-s, --server 运行JMeter服务器
-H, --proxyHost {argument} 设置JMeter使用的代理服务器
-P, --proxyPort {argument} 设置JMeter使用的代理服务器端口
-u, --username {argument} 设置JMeter使用的代理服务器用户名
-a, --password {argument} 设置JMeter使用的代理服务器密码
-J, --jmeterproperty {argument}={value} 定义附加的jmeter属性
-D, --systemproperty {argument}={value} 定义附加的System属性
-S, --systemPropertyFile {filename} 一个属性文件被做为系统属性添加
-L, --loglevel {argument}={value} 定义日志等级: [category=]level 例如jorphan=INFO or jmeter.util=DEBUG
-r, --runremote 从非用户界面模式启动远程服务器
-d, --homedir {argument} 使用的JMeter目录
-j,--jmeterlogfile {argument} the jmeter log file
-G,--globalproperty (argument)[=value] 定义一个JMeter属性并发往所有远程服务器。如:-Gport=123、-Gglobal.properties
-R,--remotestart serverl,... (non-GUI only) 在指定远程服务器上运行
-X,--remoteexit Exit the remote servers at end of test (non-GUI)