美文网首页
程序员简单易上手的性能压测工具-Jmeter

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

作者: 名字是乱打的 | 来源:发表于2021-08-24 23:03 被阅读0次

    之前部门有大佬做了压测工具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的信息并汇总展示

    相关文章

      网友评论

          本文标题:程序员简单易上手的性能压测工具-Jmeter

          本文链接:https://www.haomeiwen.com/subject/tyakiltx.html