前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员简单易上手的性能压测工具-Jmeter

程序员简单易上手的性能压测工具-Jmeter

作者头像
名字是乱打的
发布2021-12-24 08:53:08
1.3K0
发布2021-12-24 08:53:08
举报
文章被收录于专栏:软件工程

之前部门有大佬做了压测工具Jmeter的使用报告,让我们开发人员也学了一波,自己也可以对本地和测试环境进行一波压测了,可以看到自己的服务各性能指标。 这里就不扯别的了,直接总结下如何用Jmeter对服务压测; Jmeter下载

一.常用压测方法

1.1压测时,确定压测流量的方法一般为:

1、由运维/开发抓取一段时间内的流量高峰,然后由此确定接口的起始流量以及各个接口的所占压测流量比例。

2、根据单台服务器所能承受的压力,大致确定最大tps,逐步压到瓶颈;各个接口所占流量比例也可跟本次压测需求对应调整。

1.2目前常用的压测方法有:
  • 1、并发测试
  • 2、压力(负载)测试
  • 3、稳定性压力测试 tps保持高压稳定,一般可取tps最大值的80%持续运行一段时间,比如2h(查看tps稳定性、CPU、内存等指标是否稳定)
  • 4、可恢复测试 测试系统能否快速地从错误状态中恢复到正常状态。比如,在一个配有负载均衡的系统中,主机承受了压力无法正常工作后,备份机是否能够快速地接管负载。可恢复测试通常结合压力测试一起来做。

二.常用压测方法详细操作

2.1并发测试

基础线程组(强调单位时间的并发, 不存在绝对并发),主要适用超卖超发(如多人同时抢一个或多个库存)以及瞬间流量的压力测试场景

2.2压力测试

持续不断地增加负载, 发现性能瓶颈以及压出业务承载能力(目前主要所用模式)。

压力测试按压测模型分为:

  • 1、RPS 模式(吞吐量模式)(目前所应用的) RPS(Requests Per Second) 是指每秒请求数。 RPS 模式即“吞吐量式”,通过设置每秒发出的请求数, 从服务端的角度出发, 直接衡量系统的吞吐能力。
  • 2、并发模式(虚拟用户模式)(业务模型) 并发是指虚拟并发用户数, 从业务角度, 也可以理解为同时在线的用户数。 从客户端的角度出发, 摸底业务系统各节点能同时承载的在线用户数, 可以使用该模式设置目标并发, 也就是 jmeter 工具里面的线程数
2.1.1吞吐量模式是目前压测的主要方式,目前可实现方式分为:
  • 1、jmeter插件中的Constant Throughput Timer控制,该方式模式下,tps波动较大,线程数设置不准
  • 2.Throughput Shaping Timer控制,该方式模式下, rps控制,tps平滑,线程数设置不准
    1. Arrivals Thread Group( Free-Form Arrivals Thread Group),通过自动控制线程数控制tps,建议使用此种方法

三、压测监控

目前服务端由运维同学监控,监控服务器端CPU利用率、内存使用、连接数等指标;

关于接口响应时间、tps、错误率等指标由测试监控(jmeter),另外目前部署了jmeter+influxdb+grafana监控,可以更方便/详细的查看各指标。

我们开发人员平常压测的时候呢看普罗米修斯的JVM监控大盘就搞定了,然后再看看数据库的压力。

四、总结

1、RPS模型适用于找出业务/服务器瓶颈及承受能力 2、RPS模型下的吞吐量控制、RPS控制均有缺点,如tps起伏大、大流量瞬间施压过大、线程组设置不准等;此模式目前可用Arrivals Thread Group方式解决 3、对于后续压测方向,期望往业务压测模型方向转,此模型可以更好的模拟用户操作,反应服务器真实承压能力以及系统所能承受的在线用户数。 4、对于有动态控制的需求,可以使用jmeter中的beanshell能力(9000端口)

5、对于高流量或瞬间高流量压测,由于jmeter可施压的线程数有限,可以使用分布式压测方案(已有方案储备);分布式测试时,本地jmeter作为控制机(master),其它机器做为执行机(slave)。master把脚本分发到每台slave上,slave执行脚本。执行完成后,slave再把结果返回给master,master负责收集所有slave的信息并汇总展示

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/8/25 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.常用压测方法
    • 1.1压测时,确定压测流量的方法一般为:
      • 1.2目前常用的压测方法有:
      • 二.常用压测方法详细操作
        • 2.1并发测试
        • 2.2压力测试
          • 2.1.1吞吐量模式是目前压测的主要方式,目前可实现方式分为:
          • 三、压测监控
          • 四、总结
          相关产品与服务
          负载均衡
          负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档