1.测试的步奏
软件下载地址:http://jmeter.apache.org/download_jmeter.cgi
第一步: 新建Thread Group
第二步: 新建HTTP Request
第三步: 新建HTTP Header Manager
第四步: 新建 View Results Tree
第五步: 运行测试,查看结果
第六步: 添加Assertion和Assertion Results
第七步: 使用用户自定义变量
2.为Jmeter安装PerfMon插件
PerfMon用来监控Server的CPU、I/O、Memory等情况。
2.1 插件下载地址:http://code.google.com/p/jmeter-plugins/wiki/PerfMon
2.2 把JMeterPlugins.jar放到jmeter客户端的jmeter/lib/ext下。
2.3 启动jmeter,添加Listener时你就看到PerfMon Metrics Collectors了。
2.4 另外还需要把下载下来的PerfMon解压后放到所有的被测试的服务器上,并运JMeterPlugins/serverAgent/startAgent.sh,默认工作在4444端口。
2.5 使用PerfMon截图:
再次提醒一下,在非GUI模式下运行Jmeter时指定把result保存到一个文件是非常必要的
3.录制脚本
使用badboy来录制脚本
利用Jmeter录制脚本
详细见:http://www.cnblogs.com/TankXiao/p/4064289.html
4.使用CSV Data Set Config 来参数化
首先我们把测试需要用到的2个参数放在txt文件中,
新建一个data.txt文件,输入些数据, 一行有两个数据,用逗号分隔。
启动Jmeter, 先添加一个Thread Group, 然后添加一个CSV Data Set Config (Add -> Config Element -> CSV Data Set Config)
5.Jmeter的分布式测试(优缺点)
下面是分布式测试的使用方法,即使用一台机器控制多台机器给目标机器产生压力。由于Linux和Windows上的方法有些不一样,这里说下Linux下是怎么来配置的。
首先总控的机器我们叫master,产生压力的肉鸡我们叫JmeterServer,待我们测试的系统我们叫Target.
第一步:启动JmeterServer。我们可以找到Jmeter/bin 目录下的jmeter-server这个脚本,运行即可,当然如果你需要调整这个测试负载产生服务器的内存等性能参数的话,我们修改这个脚本jmeter中的内存参数。
第二步 : 修改Master机器上jmeter/bin目录下的jmeter.properties文件,修改remote_hosts=localhost:1099,localhost:2010这个为你自己的JmeterServer的实际IP,如果有多台可以用逗号分开。
第三步 : 启动master jmeter,运行测试脚本的时候选:运行 --> 远程运行 --> 选择IP 或者 运行所有远程。JmeterServer就会运行Master机器上设定的运行脚本了。
问题 : 我在实际使用中发现使用这种模式下的Jmeter在Master观测实际测试结果,发现TPS远远低于使用传统的一台Jmeter来测试所能达到的TPS,我感觉可能是由于Jmeter这种多机器协作中传递信息是使用RMI技术,可能这种技术本身还对Jmeter的性能产生了影响导致压力上去的很慢。该问题还没有得到完全认证,所以我现在如果在一台机器测试产生的压力不够的情况下我直接使用多台机器测把TPS加起来就是结果,比较傻,期待大侠指点迷津