`

TPS、并发数

    博客分类:
  • TPS
 
阅读更多
[b]1. 背景[/b]

在做性能测试的时候,很多人都用并发用户数来衡量系统的性能,觉得系统能支撑的并发用户数越多,系统的性能就越好;对TPS不是非常理解,也根本不知道它们之间的关系,因此非常有必要进行解释。

[b]2. 术语定义[/b]

Ø 并发用户数:指的是现实系统中操作业务的用户,在性能测试工具中,一般称为虚拟用户数(Virutal User),注意并发用户数跟注册用户数、在线用户数有很大差别的,并发用户数一定会对服务器产生压力的,而在线用户数只是 ”挂” 在系统上,对服务器不产生压力,注册用户数一般指的是数据库中存在的用户数。是指服务器同时处理用户请求的数量(可视为连接数)

Ø TPS:Transaction Per Second, 每秒事务数, 是衡量系统性能的一个非常重要的指标。

Ø QPS:Queries Per Second, 查询量/秒,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理查询量多少的衡量标准。


需要注意的是:连上了,并不等于就能进行处理了。动态网站大多有数据库支撑,而数据库也有个并发数

[b]3. Vu和TPS换算[/b]

Ø 简单例子:在术语中解释了TPS是每秒事务数,但是事务时要靠虚拟用户做出来的,假如1个虚拟用户在1秒内完成1笔事务,那么TPS明显就是1;如果某笔业务响应时间是1ms,那么1个用户在1秒内能完成1000笔事务,TPS就是1000了;如果某笔业务响应时间是1s,那么1个用户在1秒内只能完成1笔事务,要想达到1000TPS,至少需要1000个用户;因此可以说1个用户可以产生1000TPS,1000个用户也可以产生1000TPS,无非是看响应时间快慢。

Ø 复杂公式:

试想一下复杂场景,多个脚本,每个脚本里面定义了多个事务(例如一个脚本里面有100个请求,我们把这100个连续请求叫做Action,只有第10个请求,第20个请求分别定义了事务10和事务20)具体公式如下:

符号代表意义:

Vui表示的是第i个脚本使用的并发用户数

Rtj表示的是第i个脚本第j个事务花费的时间,此时间会影响整个Action时间

Rti表示的是第i个脚本一次完成所有操作的时间,即Action时间

n 表示的是第n个脚本

m 表示的是每个脚本中m个事务

那么第j个事务的TPS = Vui/Rti

总的TPS=

[b]4. 如何获取Vu和TPS[/b]

Ø 并发用户数(Vu)获取

新系统:没有历史数据作参考,只能通过业务部门进行评估。

旧系统:对于已经上线的系统,可以选取高峰时刻,在一定时间内使用系统的人数,这些人数认为属于在线用户数,并发用户数取10%就可以了,例如在半个小时内,使用系统的用户数为10000,那么取10%作为并发用户数基本就够了。

Ø TPS获取

新系统:没有历史数据作参考,只能通过业务部门进行评估。

旧系统:对于已经上线的系统,可以选取高峰时刻,在5分钟或10分钟内,获取系统每笔交易的业务量和总业务量,按照单位时间内完成的笔数计算出TPS,即业务笔数/单位时间(5*60或10*60)

[b]5. 如何评价系统的性能[/b]

针对服务器端的性能,以TPS为主来衡量系统的性能,并发用户数为辅来衡量系统的性能,如果必须要用并发用户数来衡量的话,需要一个前提,那就是交易在多长时间内完成,因为在系统负载不高的情况下,将思考时间(思考时间的值等于交易响应时间)加到脚本中,并发用户数基本可以增加一倍,因此用并发用户数来衡量系统的性能没太大的意义。

[b]6. 相关案例[/b]

通过大量性能测试我们发现不需要用上万的用户并发去进行测试,只要系统处理业务时间足够快,几百个用户甚至几十个用户就可以达到目的。另外咨询很多专家做过的性能测试项目,基本都没有超过5000用户并发。

因此对于大型系统、业务量非常高、硬件配置足够多的情况下,5000用户并发就足够了;对于中小型系统,1000用户并发就足够了。

[b]7. 性能测试策略[/b]

做性能测试需要一套 标准化流程及测试策略,并发用户数只是指标考虑的一个,在做负载测试的时候,一般都是按照梯度施压的方式去加用户数,而不是在没有预估的情况下,一次加几 万个用户,,交易失败率非常高,响应时间非常长,已经超过了使用者忍受范围内,这样做没有多大的意义,这就好比“有多少钱可以干多少事”一样,需要选择相 关的策略。

[b]8. 总结[/b]

Ø 系统的性能由TPS决定,跟并发用户数没有多大关系。在同样的TPS下,可以由不同的用户数去压(通过加思考时间设置)。

原文出处:《并发用户数与TPS之间的关系》

Ø 系统的最大TPS是一定的(在一个范围内),但并发用户数不一定,可以调整。

Ø 建议性能测试的时候,不要设置过长的思考时间,以最坏的情况下对服务器施压。

Ø 一般情况下,大型系统(业务量大、机器多)做压力测试,5000个用户并发就够了,中小型系统做压力测试,1000个用户并发就足够了。

分享到:
评论

相关推荐

    系统吞吐量(TPS)、用户并发量

    系统吞吐量(TPS)、用户并发量、性能测试概念和公式 详细说明

    TPS在线用户和并发的关系.docx

    TPS在线用户和并发的关系.docx

    TPS(吞吐量)、QPS(每秒查询率)、并发数、RT(响应时间)是什么意思

    主要介绍了TPS(吞吐量)、QPS(每秒查询率)、并发数、RT(响应时间)是什么意思,需要的朋友可以参考下

    系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

    本文来自于csdn,文章...系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间QPS(TPS):每秒钟request/事务数量并发数:系统同时处理的request/事务数响应时间:一般取平均响应时间(很多人经常会把并发数和TPS

    python实现接口并发测试脚本

    常用的网站性能测试指标有:并发数、响应时间、吞吐量、性能计数器等。 1、并发数 并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。 2、响应时间 ...QPS(TPS),并发数、

    一文读懂吞吐量(TPS)、QPS、并发数、响应时间(RT)概念

    主要介绍了吞吐量(TPS)、QPS、并发数、响应时间(RT)概念,在开发中需要先搞懂这些基础知识,才能更好运用,需要的朋友可以参考下

    Dubbo讲解PPT,资源,项目案例

    并发数:指系统同时能处理的请求数量。 并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量 请求数:也称为QPS(Query Per Second) 指每秒多少请求. 并发用户数:单位时间内有...

    性能测试-系统吞吐量及用户并发量

    一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降...

    第四讲-大型互联网高并发网站业务架构设计实践.docx

    高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。  响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这...

    Java项目如何进行性能优化

    后端:RT、TPS、并发数、Throughput、Footprint、Latency TPS和RT的影响因素:数据库读写、RPC、网络IO、逻辑计算复杂度、JVM Web端:首屏时间、白屏时间、可交互时间、完全加载时间... 移动端:端到端响应时间、...

    使用JMeter 完成常用的压力测试

    讲到测试,人们脑海中首先浮现的就是针对软件正确性的测试,即常说的功能测试。但是软件仅仅只是功能正确是不够的。在实际开发中,还有其它的非功能因素也起着决定性的因素,例如软件...还有些可能受用户并发数的影响。

    性能测试理论实战PPT

    性能测试理论实战PPT 1. 软件的性能 通常衡量软件的性能,可以从质量特性——效率来考虑: 时间特性 在规定条件下,执行其功能时提供适当的响应时间和吞吐率的能力 ...并发数:指多个用户同时对某个功能进行操作。

    Springboot高并发限流、访问排队、熔断完整例子

    大流量,我们很可能会冒出:TPS(每秒事务量),QPS(每秒请求量),1W+,5W+,10W+,100W+...。其实并没有一个绝对的数字,如果这个量造成了系统的压力,影响了系统的性能,那么这个量就可以称之为大流量了。 其次...

    性能测试知多少---并发用户

    在做性能测试的时候,我们常常听到并发用户、响应时间、吞吐量专业术语,也许大家都理解,这里有一个理解的层次与深度概念。最近有看断念《软件性能详解与案例分析》一书,看了他的讲解,原来我对...^_^  并发用户数

    关于服务器性能优化方法

    ## 什么是服务器并发处理能力? 一台服务器在单位时间里能处理的请求越多,服务器的能力越高,也就是服务器并发处理能力越强。 **服务器的本质工作就是,争取以最快的速度将内核缓冲区中的用户...6. 并发连接数:同时

    JMeter操作手册大全.docx

    一般情况下,性能测试是将系统处理能力容量测出来,而不是测试并发用户数,除了服务器长连接可能影响并发用户数外,系统处理能力不完全受并发用户数影响,可以用最小的用户数将系统处理能力容量测试出来,也可以用更...

    性能测试理论基础及文档实例

    如果想要入门性能测试,必须掌握性能测试基础内容,像并发用户数、TPS、响应时间、吞吐率、资源利用率等性能指标,也要学会编写性能测试计划文档、性能测试方案、性能测试用例、性能测试报告等文档,更要掌握如何...

    MySQL 查询速度慢与性能差的原因与解决方法

    一、什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS: QueriesPerSecond意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的...大量的并发:数据连接数被占满

    KunPeng-MySQL-Smart-Tools介绍1

    MySQL性能监控:展示数据库的并发连接数、流量信息、QPS、TPS、查询缓存命中率、索引命中率、连接缓存命中率、InnoDB缓存命中率、查询吞吐率、慢查询等性

Global site tag (gtag.js) - Google Analytics