性能测试:Jmeter接口处理不低于200次/秒-场景

发表于:2023-9-26 09:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:程序员小濠    来源:知乎

  需求:期望某个接口系统的处理能力不低于200次/秒,如何设计?
  ①这个场景是看服务器对某个接口的TPS值是否能大于等于200,就可以了;
  ②系统处理能力:说的就是我们性能测试中的TPS;
  ③只要设计一个目标场景TPS能超过200,而不报错,响应时间也在可接受的范围内就可以了;
  Jmeter设计操作:
  TPS,肯定很多人就会想到吞吐量,就会在吞吐量上找突破口。
  用一个"常数吞吐量定时器 Constant Throughput Timer"也可以实现预设一个固定的12000的值,因为在这个定时器中,单位是每分钟,从而实现目标200TPS的诉求。
  这个定时器,确实就是可以实现这样一个目标。但接下来的问题是,用普通线程组,要设置多少并发用户,才能让这个TPS值达到呢?
  并发用户(线程数)设置小了,这个目标达不到,设置大了,不能找出真实的TPS值。一个一个并发用户数去猜,时间浪费了,效率太低。
  解决方案:
  ①下载Jmeter的插件管理器,地址:https://jmeter-plugins.org/
  然后再利用插件管理器,下载jpgc插件。然后添加bzm - Arrivals Thread Group线程组。
  第一个 Target Rate 设置为目标12000,因为时间是分钟;
  第二个 RampUpTime 加速时长,随自己设置;
  第三个 Ramp-Up Steps Count 总共加速次数,随自己设置;
  第四个 Hold Target Rate Time 达到目标后,持续运行多长时间,随自己设置。
  第五个 Tips:在图表graph下面,有个Time Unit 单选,分钟\秒,切换后,上面的设置单位会发生变化,注意切换后,要按照需求更改相关设置数据。
  运行过程:
  整个设置过程,完全没有设置并发用户数。也就是说,为了达到200TPS值,并发用户数,完全是在运行过程中动态调整变化的。
  我们只需要再添加 Active Threads Over Time 监听器,查看运行过程中,实时的并发用户数,
  再添加 Transactions per Second 监听器, 查看运行过程中,实时TPS值,
  我们就可以通过这两个监听器,实时对比看到,在某个时间点TPS达到或超过200,此时活跃的并发用户的值,就知道系统在多少并发用户数时,能满足预期目标;
  如果发现运行过程中,已经报错,或相应时间超长,TPS却始终都无法达到预期的200,哪就说明,该接口无法达到预期目标。
  ②如果还想知道具体是多少个并发用户(线程数)让接口达到200TPS,可以再用一个 Stepping Thread Group。
  实时观察活跃线程数和tps值,就能比较准确的找到并发用户数量了。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号