jmeter性能测试

jmeter是跨平台组件,可在多平台下运行。一般,我在windows下用GUI编写脚本,然后在linux下运行

必备安装包

  1. apache-jmeter-3.2.zip https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-3.2.zip
  2. jdk-8u131-linux-x64.rpm
    http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1499493290_8ee142f439f999d97f6bb7e68092b22c

构建测试脚本test.jmx

  1. 添加线程组
  2. 构造测试用例

  3. 设置并发数
  4. 将测试计划保存成test.jmx, 默认保存到%{安装目录}/bin/下

执行

  1. 执行机器安装jdk
  2. 解压apache-jmeter-3.2.zip
  3. 将test.jmx拷到apache-jmeter/bin目录下(可其他目录)
  4. 运行./jmeter -n -t test.jmx -l 1.jtl
    • -n:非gui模式
    • -t:测试的jmx脚本
    • -l:测试结果保存在1.jtl

jmeter分布式压测

在单台执行机遇到瓶颈的时候,可采用分布式,进一步提高并发数。

  1. 选择一台机器做调度机(master),其他机器做执行机(slave);
  2. 执行时,master会将执行脚本发送到slave上,slave执行时完后,将所得的结果回传给master,master汇总后输出结果;

步骤

  1. slave的apache-jmeter/bin中执行
    ./jmeter-server -Djava.rmi.server.hostname=slave机器ip
  2. master的apache-jmeter/bin中执行
    ./jmeter -n -t test.jmx -l 1.jtl -R slave1_ip:1099,slave2_ip:1099
  • 使用了几个slave机器,这里就填几个,slave默认是使用1099端口
  • master和slave可同一台

jmeter使用参数化配置

有时候使用的参数并不固定,这时候就需要用到参数化配置



这样后,${domain}的值,就是test.txt里面每一行的内容,所以还要设置一个test.txt文件
注意点:

  1. 一般配置做相对路径,所以尽量和jmeter放一起,放在apache-jmeter/bin目录下面
  2. 分布式测试的时候,master只会发jmx脚本,不会发参数化文件,所以test.txt在每台slave都必须有文件

jmeter构造请求头参数


posted @ 2017-08-12 11:00  抟九  阅读(585)  评论(2编辑  收藏  举报