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

  • 2
  • 0
  • 约3.55千字
  • 约 6页
  • 2017-01-04 发布于贵州
  • 举报

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

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

近期在做项目的性能测试和性能优化,先了解与性能相关的一些概念。  一.系统吞度量要素:  一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。  单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。  系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间  QPS(TPS):每秒钟request/事务 数量  并发数: 系统同时处理的request/事务数  响应时间:  一般取平均响应时间  (很多人经常会把并发数和TPS理解混淆)  理解了上面三个要素的意义之后,就能推算出它们之间的关系:  QPS(TPS)= 并发数/平均响应时间  一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。  决定系统响应时间要素  我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。  系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间;  关键路径是有CPU运算、IO、外部系统响应等等组成。  二.系统吞吐量评估:  我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。  而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。  通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和QPS我们就可以推算日流量。  通常的技术方法:  1. 找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)  2. 通过压力测试或者经验预估,得出最高TPS,然后跟进1的关系,计算出系统最高的日吞吐量。B2B中文和淘宝面对的客户群不一样,这两个客户群的网络行为不应用,他们之间的TPS和PV关系比例也不一样。  A)淘宝  淘宝流量图:  淘宝的TPS和PV之间的关系通常为  最高TPS:PV大约为 1 : 11*3600 (相当于按最高TPS访问11个小时,这个是商品详情的场景,不同的应用场景会有一些不同)B) B2B中文站  B2B的TPS和PV之间的关系不同的系统不同的应用场景比例变化比较大,粗略估计在1 : 8个小时左右的关系(09年对offerdetail的流量分析数据)。旺铺和offerdetail这两个比例相差很大,可能是因为爬虫暂的比例较高的原因导致。  在淘宝环境下,假设我们压力测试出的TPS为100,那么这个系统的日吞吐量=100*11*3600=396万  这个是在简单(单一url)的情况下,有些页面,一个页面有多个request,系统的实际吞吐量还要小。  无论有无思考时间(T_think),测试所得的TPS值和并发虚拟用户数(U_concurrent)、Loadrunner读取的交易响应时间(T_response)之间有以下关系(稳定运行情况下):  TPS=U_concurrent / (T_response+T_think)。  并发数、QPS、平均响应时间三者之间关系  软件性能测试的基本概念和计算公式  一、软件性能的关注点  对一个软件做性能测试时需要关注那些性能呢?  我们想想在软件设计、部署、使用、维护中一共有哪些角色的参与,然后再考虑这些角色各自关注的性能点是什么,作为一个软件性能测试工程师,我们又该关注什么?  首先,开发软件的目的是为了让用户使用,我们先站在用户的角度分析一下,用户需要关注哪些性能。  对于用户来说,当点击一个按钮、链接或发出一条指令开始,到系统把结果已用户感知的形式展现出来为止,这个过程所消耗的时间是用户对这个软件性能的直观印象。也就是我们所说的响应时间,当相应时间较小时,用户体验是很好的,当然用户体验的响应时间包括个人主观因素和客观响应时间,在设计软件时,我们就需要考虑到如何更好地结合这两部分达到用户最佳的体验。如:用户在大数据量查询时,我们可以将先提取出来的数据展示给用户,在用户看的过程中继续进行数据检索,这时用户并不知道我们后台在做什么。  用户关注的是用户操作的相应时间。  其次,我们站在管理员的角度考虑需要关注的性能点。  1、相应时间  2、服务器资源使用情况是否合理  3、应用服务器和数据库资源使用是否合理  4、系统能否实现扩展  5、系统最多支持多少用户访

文档评论(0)

1亿VIP精品文档

相关文档