压力测试JMeter

一、JMeter概述

Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。

同时,JMeter可以帮助你对你的应用程序进行回归测试。通过你创建的测试脚本和assertions(断言)来验证你的程序返回了所期待的值。为了更高的适应性,JMeter允许你使用正则表达式来创建这些assertions.

二、JMeter安装

下载地址:http://jmeter.apache.org/download_jmeter.cgi

三、JMeter运行

运行指令在/bin目录下,windows系统执行jmeter.bat

img
img

四、JMeter使用

  • 添加线程组 img

    img
    img

    线程组主要包含三个参数:线程数、准备时长、循环次数

    • 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
    • 准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。
    • 循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
  • 添加HTTP请求 img

    img
    img
  • 添加监听器 img

  • 添加察看结果树 img

  • 运行 img

  • 聚合报告分析 img

    参数说明:

    • Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
    • #样本:请求数,表示这次测试中一共发出了多少个请求,如果模拟300个用户,每个用户迭代10次,那么这里显示3000
    • 平均值:平均响应时间,默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
    • 中位数:也就是 50% 用户的响应时间
    • 90%百分位:90% 用户的响应时间
    • 95%百分位:95% 用户的响应时间
    • 99%百分位:99% 用户的响应时间
    • 最小值:最小响应时间
    • 最大值:最大响应时间
    • 异常:错误请求数/请求总数
    • 吞吐量:默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
    • 接收KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
    • 发送KB/Sec:每秒从服务器端发送的数据量
  • 察看结果树内容 img

    img
    img
    img
    img

    五、一般关注的性能指标

  • 响应时间 (Response Time: RT) 响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间。

  • HPS (Hits Per Second) 每秒点击次数,单位是次/秒。

  • TPS (Transaction per Second) :系统每秒处理交易数,单位是笔/秒。

  • QPS (Query perSecond) :系统每秒处理查询次数,单位是次/秒。 对于互联网业务中,如果某些业务有且仅有一个请求连接,那么TPS=QPS=HPS,一般情况下用TPS来衡量整个业务流程,用QPS来衡量接口查询次数,用HPS来表示对服务器单击请求。

无论TPS、QPS、HPS,此指标是衡量系统处理能力非常重要的指标,越大越好,根据经验,一般情况下:

  • 金融行业: 1000TPS~50000TPS, 不包括互联网化的活动
  • 保险行业: 100TPS~100000TPS,不包括互联网化的活动
  • 制造行业: 10TPS~5000TPS
  • 互联网电子商务: 10000TPS~1000000TPS
  • 互联网中型网站: 1000TPS~50000TPS
  • 互联网小型网站: 500TPS~10000TPS
  • 最大响应时间(Max Response Time) 指用户发出请求或者指令到系统做出反应(响应)的最大时间。
  • 最少响应时间(Mininum ResponseTime) 指用户发出请求或者指令到系统做出反应的最少时间。
  • 90%响应时间(90% Response Time)是指所有 用户的响应时间进行排序,第90%的响应时间。
  • 从外部看,性能测试主要关注如下三个指标
    • 吞吐量:每秒钟系统能够处理的请求数、任务数。QPS TPS
    • 响应时间:服务处理一个请求或一个任务的耗时。
    • 错误率:一批请求中结果出错的请求所占比例。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云游墨客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值