jemter+nmon性能测试

xx网关接口测试

测试前必使用Server+Agent,分布式压力方式进行压力测试,并启动相应的端口。

接口测试方法

执行机(slave)配置:

  1. 启动bin目录下的:meter-server.bat
  2. 可以自定义端口号:jmeter.properties文件,修改如下两个配置项,比如我这里修改为1888:server_port=1888,server.rmi.localport=1888

调度机配置

  1. 修改C:\Program Files\apache-jmeter-2.13\bin目录下的jmeter.properties文件中的remote_hosts=localhost:1099,192.168.27.111:1099,10.10.45.81:1099,10.10.45.20:1099,多台slave之前使用 ‘, ‘ 隔开

  2. 第一种:非GUI运行
    运行方法:cmd->cd ->jmeter -t "JMS Point-to-Point.jmx" -n -l testresult.csv -r
    参数详解:

    jemter+nmon性能测试_第1张图片
    20180730213149.png

    第二种:GUI运行
    直接运行jmeter.bat
    ps:建议第一种方法运行,由于Jmeter是一个纯JAVA的应用,用GUI模式运行压力测试时,对客户端的资源消耗是相当惊人的,所以在进行正式的压测时一定要使用non-gui模式运行

分布式执行原理

  1. Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。
  2. 执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。
  3. 执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

注意事项

  1. 关闭防火墙
  2. 所有的客户端都在同一个子网内,server也必须在同一子网内如果使用192.x.x.x或者10.x.x.x这样的IP地址
  3. 确保Jmeter可以访问到server
  4. 确保各系统的Jmeter版本保持一致,不同版本的Jmeter将不能很好的工作

第一种加密方式

导入包

  • 将下面的包,放入安装目录下,lib/ext文件夹下
    D:\apache-jmeter-2.13\lib\ext

xxxproxy-jmeter-1.0.0-SNAPSHOT.jar
包略

主要实现的功能是所有字段按照网关的规则进行排序(过滤掉值未为0的字段),并添加上signMsg。

导入xxxProxy Test Plan.jmx
xxxProxy_Test_Plan.jmx
包略

在BeanShell Samppler中添加以下代码

import com.xxxx.xxx.test.xxxxproxy.xxxProxyUtils;

第二种加密方式

BeanShell Sampler中自定义

案例见

dianxinwangguan.jar

对数据库进行压力测试

包括mycat分片压力测试

JDBC_Connection_Configuration.jmx

包略

对JAVA方法进行性能测试

Java请求.jmx
包略

noon

安装

使用

例如:

./nmon -ft -s 10 -c 180

-s 10是每10s监控一次
-c 180 是一共监控180次
10*180=1800秒=30分钟

分析

压测完成后,生成.nmon文件,导入 analyser 工具中(令人折服的excel),生成数据报表

你可能感兴趣的:(jemter+nmon性能测试)