- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
探讨性能测试的负载目标.
探讨性能测试的负载目标 性能测试主要评价系统或组件的性能是否和具体的性能需求一致,例如:对访问速度的性能需求或对内存使用情况的需求。特定性能测试的关注点在于组件或系统在规定的时间内和特定的条件下响应用户或系统输入的能力。 一、前提 近期我跟踪了2个外协人员参与的性能测试项目,沟通中发现大家在制定测试策略时对如何确定负载目标、计算并发用户数量等方面有很多不同方法,本文希 望能对各种方法进行探讨,并根据已有经验对策略制定方面给出一些自己的建议。本文被测应用以银行系统为主,压力发起工具以LoadRunner为例。 二、术语 单位时间:本文中以1秒为单位时间。 在线用户数量:访问被测应用的用户数量,但单位时间内用户不会同时对被测服务器发送请求,产生压力。 并发用户数量:部分书中分狭义和广义两种,狭义指单位时间内同时执行一种操作的用户数量,广义指单位时间内同时执行多种不同操作的用户数量,广义的并发用户操作更接近实际业务环境。但本文中的并发用户数量仅指狭义而言,因为广义是多种狭义的组合。 TPS:Transaction per Second,每秒事务数量,单位是事务/秒。 TRT:Transaction Response Time,事务响应时间,指TPS稳定时的平均事务响应时间,单位是秒。 三、负载目标 1. 负载视角 制定测试策略是性能测试的重点,包括测试范围、场景提取、负载目标、发起方式、通过标准等。而负载目标关系整个测试的场景设计、并发配比、结果评判,因此确定负载目标也决定了测试的总体方向。通过了解业务需求,负载目标都会转化为一系列具体的数值,一般可从两方面来划分: 前端:业务人员更关注前端并发用户数量或在线用户数量,以人数衡量; 后端:技术人员更关注后端应用服务器和数据库服务器的负载能力,以TPS衡量; 前端并发用户数量的计算在业界中有很多公式和原则,如2/8原则、10%在线用户数量估算、(在线用户数量*session时间)/监控时间等,但各公式和原则计算出的并发用户数量并不精确,如有10万在线用户的系统不能说仅测试10万*10%=1万并发用户即可。 后端TPS反应被测应用的实际负载能力,对已有具体业务量的应用可以计算精确,如银行系统中某省行对公交易量日均10万笔,则可精确计算出TPS均值=10万/(6*3600)=4.63笔/秒(对公业务按6小时计算),若被测应用达不到TPS要求则完成不了当日业务。 同一个被测应用以不同视角估算负载目标,得到的数值可能会有很大差异,因此如何正确选择负载目标,将会直接影响之后的测试方法和场景设计。 2. 负载指标 抛开视角的选择,单从最终测试指标来说,对于一个软硬件环境固定的应用程序,只有一个负载指标是固定的,那就是最大事务处理能力 – 通常以TPS衡量。随着负载的增加,被测应用将会逐渐达到最大事务处理能力,若应用足够健壮,则负载继续增加,应用的事务处理能力也不会骤然下降。因此性 能测试的目标就是确定被测应用的最大事务处理能力。以事务处理能力反推,将逐渐捋清TPS、TRT、并发用户数量、在线用户数量等负载目标的关系和估算。 1)TPS Transaction的粒度会直接影响TPS的计算,因此Transaction定义时要保证粒度适当: C/S架构联机类应用中一笔交易往往会流经多层前置应用,需要确定压力发起工具所在位置,建议跨过前端直压被测应用,此时一个Transaction代表一支后台交易。 B/S架构经管类应用中一个页面操作可能会和后台有多次交互,建议以页面上的操作为Transaction划分基准,但要保证Transaction内的交互操作在前端是不可再拆分的。 LoadRunner发起压力时Action内的语句是反复迭代的,而LR计算TPS仅看1秒内执行了几次Transaction,如果 Action内有多个Transaction则各事务的TPS都一样,反应不出各事务的真实处理能力,因此建议Action内只定义一个或尽量精简的 Transaction。 由此TPS才可以准确表示被测应用的事务处理能力。 通过获取生产日志、参考相似系统等方式能够得到具体交易(事务)数量的被测应用程序,以TPS为负载目标是直接也最准确的。但要注意,若以TPS为目标,则前端配置的并发数量就不再代表并发人数,而是并发提交事务的数量。TPS和TRT的计算关系将在下面详述。 2)TRT TRT指TPS稳定时(不一定是最大时)的平均事务响应时间,不关注个别事务,它和TPS关系紧密,随TPS的变化而变化。当负载增加时TRT会逐渐增大,直至事务阻塞,交易超时。 TPS × TRT = 并发提交事务的数量。如果以TPS=20为目标,且此时TRT=2秒,则并发提交事务的
文档评论(0)