前提
1.先配置个JDK,大家应该都有了。
2.再下载个jmeter,官网上下一个就成。
准备
1.下载图形插件(会帮你搜索到相关的jar)
2.安装插件
将lib下面的jar放到jmeter安装目录/lib下,ext里面的文件放到/lib/ext/目录下。重启jmter
3.使用
Windows 用户请执行{jmter_home}/bin/jmeter.bat 文件
Mac/liunx 用户请执行{jmter_home}/bin/jmeter.sh 文件
新建自己的用例,添加线程组
在线程组中添加聚合报告、HTTP信息头管理器,需要测试QPS的话再添加一个Constant Throughput Timer(定时器里面)
Constant Throughput Timer
Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,因此,要测多少QPS ,就乘60。即可。
This thread only:控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的 target Throughput 乘以线程的数量。
All active threads:设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。
All active threads in current thread group :设置的target Throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads选项的效果完全相同。
All active threads (shared ):与All active threads 的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。
All cative threads in current thread group(shared) All active threads in current thread group 基本相同,唯一的区别是每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。
具体的,自己探索呦,新加的插件在哪,也自己找,自己找的有印象。
在取样器中,添加响应断言、观察结果树、jp@gc - Response Times Over Time(响应时间随着时间的变化而变化转换成图)、jp@gc - Response Times Over Time(每秒请求的事务数量)
上面这些东西右键,自己找一找。
用户参数
在线程组里面添加用户参数,名称和用户。
使用的时候,将一些统一的变量加到用户参数中去。在用例中使用:${appid} 类似这种就可以。也可以使用csv,没用到不写了。
用户定义的变量
跟参数差不多吧,每个Key取最后一个值,所以不要重复。
上面说的这些只能作为测试一下自己写的用例是否能用,并不能真实反映出服务器的负载。需要在服务器上执行jmeter测试计划,才能稍微接近真相。
服务器上执行测试计划
上面是在本机做好测试计划,并且小数量的验证通过后,准备迁移到服务器上执行脚本。
1.安装jmeter
将本地的jmeter安装包rz\scp上传到服务器,unzip解压。并且将编写好的测试计划.jmx 文件上传到服务器。
安装Java环境,如果机器jdk版本不方便修改,则要拉一个与jmeter相同版本的jdk到某一目录,并且修改jmeter/bin/jmeter文件
JAVA_HOME="/home/work/jdk1.8.0_51"
JVM_ARGS="-Xms1g -Xmx1g"
在bin 目录下./jmeter -v 查看是否能正常启动
2.执行测试计划
./jmeter -n -t ../jmx/demo.jmx -l ../jmx/demo.jtl
对生成的JTL进行分析,jtl就是jmeter采集的原始数据,格式实际上是csv的,通过逗号来进行分割。用Excel或记事本就可以进行打开查看(当然并不是很推荐)
可以直接从服务器上下载jtl到本地,在本地运行jmeter进行解析结果的操作。
终:以上,鄙人测试流程,如有读取csv文件....自己百度下吧,用到了再写写,啦啦啦。