0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过Forcebot压测实践简述“并发模式”与“RPS模式”两种模式的区别

京东云 来源:京东零售 张强 作者:京东零售 张强 2024-10-15 15:23 次阅读

作者:京东零售 张强

导读

本文主要讲解了Forcebot压测平台之中“并发模式”与“RPS模式”两种模式对于服务端性能指标的影响。通过“商品查询标签”的压测作为具体实践案例,简要阐述了“并发模式”与“RPS模式”两种模式压测过程中TPS、TP99以及TP999差异性。希望通过本文,读者可以对“并发模式”与“RPS模式”两种模式相关概念有更清晰的认识,并且能够将它们应用到具体的业务场景之中,帮助大家在实际代码研发、压测的时候,提供一些参考思路。

1、背景

互联网的头部公司,对于接口服务性能要求非常高,各个应用链路之间接口要求TP99响应时间在100ms以下,甚至还有要求TP999。为了达到此目标需要不断的优化接口逻辑性能和服务器性能。基于此前提之下,最近开发了一个“商品查询标签”杰夫接口(RPC),外部门要求单机200QPS、TP999响应时间要小于40ms。我们在整个压测过程中采用了“并发模式”与“RPS模式”两种模式,但是它们给出的展现效果有一定差异性。其中“并发模式”适用于摸底业务系统各节点能同时承载的在线用户数,“RPC模式”适用于衡量系统的吞吐能力。

2、并发模式(虚拟用户模式)

“并发”是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。 适用场景:如果需要从客户端的角度出发,摸底业务系统各节点能同时承载的在线用户数,可以使用该模式设置目标并发。以下是通过并发模式(虚拟用户模式)简单的请求流程图:

wKgZoWcOGFuANSv1AAU1yxfD0ds084.png


综上所述:

1)发压机按照设置的并发数,持续向目标服务端发起请求,经过网络传输和杰夫线程池后,到达具体的方法内部执行逻辑。

2)压力机监控的性能指标(TP99、TP999)的总时长为网络传输耗时、杰夫线程等待耗时和方法耗时三者相加。

3)压力机监控的TPS指标为单位时间内持续发出的请求总和。

实践案例:

•forcebot监控(并发用户数:1;TPS平均:330;TP99:4ms;TP999:5ms)

wKgaoWcOGF2AYJqLAARy4D76vYY689.png


•umpkey监控(QPS:300;TP99:1ms;TP999:1ms)

wKgZoWcOGGCAHueoAAR6nuJ7keU440.png


3、RPS模式

RPS(Requests Per Second)是指每秒请求数。 适用场景:RPS模式即“吞吐量模式”,通过设置每秒发出的请求数,从服务端的角度出发,直接衡量系统的吞吐能力,免去并发到RPS的繁琐转化一步到位。以下是通过RPS简单的请求流程图:

wKgaoWcOGGGARAIhAAUGGf0PW4o327.png


•综上所述:

1)发压机按照设置的并发数,同时向目标服务端发起请求,经过网络传输和杰夫线程池后,到达具体的方法内部执行逻辑。

2)压力机监控的性能指标(TP99、TP999)的总时长为网络传输耗时、杰夫线程等待耗时和方法耗时三者相加。

3)压力机监控的TPS指标为单位内一次性发出的请求数量。

•实践案例:

•forcebot监控(并发用户数:50;TPS平均:47;TP99:6ms;TP999:60ms)

wKgZoWcOGGKABVzxAARH9Gpui9A972.png


•umpkey监控(QPS:50;TP99:1ms;TP999:1ms)

wKgZoWcOGGSAZszUAARCD7nAi3Q124.png


4、总结

经过“并发模式”与“RPS模式”两种模式实践应用数据的对比,总结出以下经验可以供大家参考。希望此文对大家后续做服务接口性能压测有一定的帮助和启发。

1)“并发模式”并发用户数少于“RPS模式”并发用户数,但是forcebot压测事务对应TPS(最大/平均)的数量前者大于后者以及服务端UMP监控到QPS也是前者大于后者。

具体原因:“并发模式”是按照预先设置并发用户数持续不断的发送请求,所以在秒级收到的请求数量总和为QPS。然而“RPS模式”是按照预先设置并发用户数同时一次性将请求发出,并且秒级时间范围内不持续。所以它的秒级QPS只是这一次发出请求数量。

2)“并发模式”的并发用户数少于“RPS模式”的并发用户数并且服务端收到QPS前者大于后者的前提之下,forcebot压测事务对应TP99/TP999的性能指标前者优于后者。

具体原因:“并发模式”的并发用户数少于“RPS模式”的并发用户数,同时能够到达杰夫线程池的任务数前者少于后者,所以杰夫线程池任务缓冲区处于等待的任务就相对较少、等待时间较短。最终计算TP99/TP999性能的时候,“并发模式”的性能更优于“RPS模式”的性能。

3)“并发模式”和“RPS模式”方法内部UMP监控的时候,可用率、TP99和TP999等性能指标都远远优于forcebot压测事务监控指标。

具体原因:压测请求传输过程中,会经过跨网络传输、杰夫线程池等重要节点,这两个节点的耗时对于forcebot压测事务监控指标也有非常大的影响。例如:服务端的young gc或full gc等都会影响到杰夫线程的暂停,导致最终forcebot压测事务监控指标远远高于实际方法内部UMP监控到的值。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8345

    浏览量

    150497
  • 监控
    +关注

    关注

    6

    文章

    2147

    浏览量

    54993
收藏 人收藏

    评论

    相关推荐

    噪声传导的两种模式

    噪声传导有两种模式,一为差模传导,一为共模传导。
    的头像 发表于 10-15 11:33 122次阅读
    噪声传导的<b class='flag-5'>两种</b><b class='flag-5'>模式</b>

    usb主机模式和设备模式区别

    USB(通用串行总线)是一广泛使用的接口技术,用于连接计算机和外部设备。USB主机模式和设备模式是USB通信中的两种不同角色,它们定义了设备和计算机之间的通信方式。以下是对这
    的头像 发表于 09-25 09:06 290次阅读

    晶体管的开关模式和放大模式区别

    晶体管的开关模式和放大模式是其在电子电路中两种截然不同的工作模式,它们在原理、特点、应用以及电路行为等方面都存在显著的差异。以下是对这两种
    的头像 发表于 09-13 16:42 233次阅读

    红石比较器两种模式的作用

    红石比较器是Minecraft中的一非常重要的红石元件,它用于比较个红石信号的强度,并根据比较结果输出不同的信号强度。比较器有两种模式:比较模式
    的头像 发表于 09-05 09:17 266次阅读

    伺服电机位置模式和速度模式区别

    伺服电机作为现代工业自动化领域中的核心动力装置,其控制模式的选择对于整个系统的性能有着至关重要的影响。在伺服电机的控制模式中,位置模式和速度模式是最为常见的
    的头像 发表于 06-05 15:02 2456次阅读

    网络桥接模式是什么? 网络桥接模式和路由模式区别

    ,以便将多个计算机连接在一起并共享资源。 网络桥接模式和路由模式区别 网络桥接模式和路由模式是计算机网络中
    的头像 发表于 05-10 13:48 3612次阅读

    实践GoF的23设计模式:解释器模式

    解释器模式(Interpreter Pattern)应该是 GoF 的 23 设计模式中使用频率最少的一了,它的应用场景较为局限。
    的头像 发表于 04-01 11:01 549次阅读
    <b class='flag-5'>实践</b>GoF的23<b class='flag-5'>种</b>设计<b class='flag-5'>模式</b>:解释器<b class='flag-5'>模式</b>

    工业智能网关的网关模式和交换机模式有哪些区别

    工业智能网关主要用以实现工业物联网络中不同设备和系统之间的通信,工业智能网关常见的两种工作模式是网关模式和交换机模式,在功能和应用场景上存在显著差异,本篇就为大家简单介绍一下
    的头像 发表于 03-12 17:24 876次阅读
    工业智能网关的网关<b class='flag-5'>模式</b>和交换机<b class='flag-5'>模式</b>有哪些<b class='flag-5'>区别</b>

    变频器的两种无速度传感器矢量控制模式有什么区别

    在变频器控制模式中,有无速度矢量传感器模式,该模式又分为两种,无感矢量0和无感矢量1,这两种模式
    发表于 02-22 21:45

    两种timing分析模式—GBA与PBA简单梳理

    今天想来聊一聊STA相关的内容。GBA和PBA是在做STA分析的时候的两种分析模式
    的头像 发表于 12-06 15:00 1034次阅读

    oracle数据库的操作模式分为哪两种

    Oracle数据库的操作模式分为两种:在线(Online)操作模式和离线(Offline)操作模式。 在线操作模式是指数据库在运行状态下接受
    的头像 发表于 12-06 10:07 704次阅读

    五级环路振荡电路的两种工作模式

    五级环路振荡电路的两种工作模式
    的头像 发表于 11-23 16:25 2154次阅读

    示波器滚动模式与标准模式区别

    示波器滚动模式与标准模式区别  示波器是一电子测试仪器,它用于显示电压随时间变化的波形图。示波器可以设置为两种显示
    的头像 发表于 11-07 10:13 1988次阅读

    示波器慢扫描模式和ROLL模式的共性和区别

    示波器是一电子仪器,用于观察和测量电信号的波形、幅度、频率等参数。示波器有多种工作模式,其中慢扫描模式和ROLL模式两种常见的工作
    的头像 发表于 11-06 14:48 1007次阅读

    Chroma电子负载的CCH模式与CCL模式有什么区别

    Chroma电子负载的CCH模式与CCL模式有什么区别? Chroma电子负载是一专业的测试设备,常用于电源、太阳能电池板等的负载测试中。其中,CCH
    的头像 发表于 10-25 11:11 2805次阅读