jmeter入门 - 测试网站访问性能

jmeter简介(百度)

  Apache JMeter是Apache组织开发的基于Java的压力测试工具。可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。

jmeter优势  

开源免费

扩展性强,JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用

用Jmeter测试网站的简单实践

测试网站负载达到10Qps时的响应时间(Qps: Query Per Second 每秒查询次数)

1 简单构建测试模型:有20个用户,在2s内分别向服务器发送请求了一次,循环3次。

2 使用jmeter测试网站负载达到10Qps时的响应时间

1) 建立测试计划和线程组

填写线程组的各项数据

线程数:虚拟用户数

准备时长:设置的虚拟用户数在这段时间内全部启动

循环次数:每个线程循环发送请求的次数

2) 添加HTTP请求

在线程组 –Sampler - 添加HTTP请求

Sampler: 取样器,是与服务器交互的单元。一般进行三部分工作:向服务器发送请求,记录服务器响应时间,记录相关时间信息

HTTP请求重要参数介绍:

服务器名称或IP:HTTP发送请求的目标服务器的名称或者ip地址

端口号:HTTP发送请求的目标服务器的端口号,默认为80

协议:向目标服务器发送HTTP请求用的协议,默认为http协议

路径:目标url路径,不包括服务器ip和端口

同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对

3) 添加定时器

简单介绍一下定时器:

1 定时器的作用域:

①   定时器是在每个sampler(采样器)之前执行的。

②   希望sampler执行完再等待,可以使用Test Action

2 几种定时器介绍

①   固定定时器(Constant Timer):如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间

②   高斯随机定时器(Gaussian Random Timer): 如需要每个线程在请求前按随机时间停顿,那么使用这个定时器,上图表示暂停时间会分布在100到400之间,计算公式参考:Math.abs((this.random.nextGaussian() * 300) + 100)

③   固定吞吐量定时器(Constant Throughput Timer): 可以让JMeter以指定数字的吞吐量(即指定TPS,只是这里要求指定每分钟的执行数,而不是每秒)执行

④ 同步定时器(SynchronizingTimer):阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力

(1)Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量

(2)Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数

⑤ BeanShell定时器(BeanShell Timer): 这个定时器,一般情况下用不到,但它可以说是最强大的,因为可以自己变成实现想要做的任何事情,例如:希望在每个线程执行完等待一下,或者希望在某个变量达到指定值的时候等待一下。

这里给大家介绍下BeanShell:

BeanShell是一种松散类型的脚本语言(这点和JS类似),一种完全符合java语法的java脚本语言,并且又拥有自己的一些语法和方法。

传送门(另外一位博客园作者的博客):http://www.cnblogs.com/jssy/archive/2006/10/23/537101.html

 

 

我们这里使用固定吞吐量定时器(Constant Throughput Timer)

 

Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,因此,对应测试需求中所要求的10 QPS ,这里的值应该是600 。

 

 

4) 添加监听器查看响应数据

5) 分析报告


Samples:线程数*循环次数

Average:平均每个线程的响应时间(默认单位均为ms

Median:50%用户的响应时间

90%Line:90%用户的响应时间

95%Line:95%用户的响应时间

99%Line:99%用户的响应时间

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量 – 每秒完成的请求数

Received KB/sec:每秒从服务器端接收到的数据量

Sent KB/sec : 每秒发送的数据量

参考博客:

http://www.cnblogs.com/fnng/archive/2012/12/22/2829479.html


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值