Jmeter服务器性能压测之—QPS/RPS/TPS/RT/并发数/并发连接数/并发用户数/线程数/吞吐量等概念详解

关于这几个词的概念,在CSDN上看了很多文章,解释和计算公式也是五花八门,发现没有一篇解释的既全面又便于理解的,索性参考别人的文章再结合自己的理解,整理一下分享给大家,如有理解错误还望纠正。

先大概介绍下这几个词的概念,再结合jmeter压测数据理解:
 

一、QPS:

Queries Per Second(每秒查询率),每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。

计算公式:

qps = 请求查询数 / 秒
qps = fetchs / per second

每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。
qps相当于最大吞吐率

二、RPS:

Requests Per Second(每秒发送请求数/吞吐率),指客户端每秒发出的请求数。阿里云PTS 对于这个词的解释为RPS有些地方也叫做QPS,在不单独讨论“事务”的情况下可以近似对应到Loadrunner/jmeter的TPS(Transaction Per Second, 每秒事务数)。

计算公式:


  吞吐率 = 总请求数 / 处理这些请求的总完成时间
  Requests per second = Complete requests / Time taken for tests

吞吐率是服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。
       某个并发用户数下单位时间内能处理的最大的请求数,称之为最大吞吐率。

截图来源:《并发模式与 RPS 模式之争,性能压测领域的星球大战》

链接:https://mp.weixin.qq.com/s?__biz=MzU4NzU0MDIzOQ==&mid=2247487138&idx=1&sn=be66769443f8157461c9ef12cba7722c&chksm=fdeb3cc2ca9cb5d423dceb71977e01a07be3be552a9b7cc63afec96936ee0b14ef07ff602345&token=1058504863&lang=zh_CN#rd

三、TPS: 

 Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS一般包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)

CAPS:  Call Attempts Per Second (每秒建立呼叫数量)

TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

一般的,评价系统性能均以每秒钟完成的技术交易的数量来衡量。系统整体处理能力取决于处理能力最低模块的TPS值。

四、RT

Reponse Time(响应时间),从发起请求到完全接收到应答的时间消耗。

五、并发数

同时访问服务器站点的连接数。

建议参考文章:https://www.cnblogs.com/xiaowenshu/p/10727523.html

六、并发连接数

(The number of concurrent connections)

并发连接数就是服务器某个时刻所接受的请求数目,也就是某个时刻所接受的会话数目。

七、并发用户数

(The number of concurrent users, Concurrent Level)

一个用户可能产生多个会话,所以并发用户数和并发连接数并不重复。并发用户数是指服务器某个时刻所能接受的用户数。

八、用户平均请求等待时间

(Time per requests)
计算公式:

用户平局请求等待时间 = 总时间 / (总请求数 / 并发用户数)
Time per requests = Time taken for tests / (Complete requests / Concurrent Level)


九、服务器平均请求等待时间

(Time per requests: across all concurrent requests)
计算公式:

服务器平均等待时间 = 总时间 / 总请求数
Average request latency server = Time taken for tests / Complete requests

十、线程数

程序运行中消耗cpu的线程数,在正常消耗范围内线程数越大越好。

十一、吞吐量

吞吐量,是指在一次性能测试过程中网络上传输的数据量的总和。

  对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值。如一个大型工厂,他们的生产效率与生产速度很快,一天生产10W吨的货物,结果工厂的运输能力不行,就两辆小型三轮车一天拉2吨的货物,比喻有些夸张,但我想说明的是这个运输能力是整个系统的瓶颈。

  提示,用吞吐量来衡量一个系统的输出能力是极其不准确的,用个最简单的例子说明,一个水龙头开一天一夜,流出10吨水;10个水龙头开1秒钟,流出0.1吨水。当然是一个水龙头的吞吐量大。你能说1个水龙头的出水能力是10个水龙头的强?所以,我们要加单位时间,看谁1秒钟的出水量大。这就是吞吐率。

  • 12
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在中,jmeter线程数并发数是两个不同的概念jmeter线程数是指在jmeter中模拟的并发用户数,即同时发送请求的线程数。而并发数是指系统同时处理的请求数量,也可以理解为每秒发送的请求数(RPSTPS)。\[1\]\[3\] 误区中提到了一种常见的误解,即直接根据tps来确定jmeter线程数。这种方法是不准确的,因为tps只是每秒发送的请求数量,并不能直接对应到jmeter线程数。\[1\] 实际上,确定jmeter线程数需要综合考虑多个因素,包括系统的性能指标、目标负载和试需求。一般来说,可以通过逐步增加jmeter线程数并观察系统的性能指标(如响应时间、吞吐量)来确定最佳的jmeter线程数。\[2\] 因此,jmeter线程数并发数是两个不同的概念,需要根据具体的试需求和系统性能来确定最佳的配置。 #### 引用[.reference_title] - *1* *2* [jmeter线程数用户数tps的认知误区](https://blog.csdn.net/LANNY8588/article/details/120390534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Jmeter服务器性能之—QPS/RPS/TPS/RT/并发数/并发连接数/并发用户数/线程数/吞吐量概念详解](https://blog.csdn.net/qq_35603268/article/details/103125955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值