大家都知道,在性能测试中,我们比较关注的有平均响应时间和TPS这两个重要的指标,TPS就是每秒处理的事务数,TPS的值越大,每秒处理的事务数就越多,说明处理的速度越快,软件的效率或者各方面都是比较好的。

我们可以把项目分成已上线和未上线来说,首先已经上线运行过的项目,证明项目的功能已经完善了,有的公司会专门做一个业务监控系统,来定期监控业务模块核心接口的调用量,平均耗时等。我们可以找到调用量最高的那天,然后再找到当天接口调用量最高的时间点(分钟级别)。如早上9:00调用量是1000,那么我们再换算为每秒调用量1000/60=16,那tps只要达到16就可以了。没有做监控的,可以通过中间插件的日志来看,比如Nginx的access.log,该日志中详细记录了每个HTTP请求的访问时间、url、响应状态码、响应时间等。

根据峰值数据,最终可以计算出每秒的调用量,然后可以将这个指标定为接口的预期TPS。

接下来就是未上线的项目,未上线的项目没有数据参照,一般我们使用"28定律"。

二八定律又名80/20定律、帕累托法则(Pareto‘s principle)也叫巴莱特定律、朱伦法则(Juran's Principle)、关键少数法则(Vital FeRule)、不重要多数法则(Trivial Many Rule)最省力的法则、不平衡原则等,被广泛应用于社会学及企业管理学等。

那我们具体说说如何使用二八定律去确定预期的TPS

比如某网站新增了一个每日签到送积分功能,由于还没有上线,所以没有签到的数据。网站的注册用户1000w,日活跃用户大概是100w左右,那么最极端情况下,这100w人都会来签到(实际肯定不会这么多人来签到,但是评估指标要尽量往高评,以免出现极端情况),那么每天大概有100w次签到请求,80%的请求数就是100w*0.8=80w。

其次确定系统的20%时间,大多数系统是24小时对外提供服务的(也有一些系统,比如政府类的项目,是在一天的某个时间段提供服务的)。但是大多数系统在0点-6点之间访问量很少,从一天的总访问量来看,可以忽略不计。所以统计时间的时候,可以把这段时间去掉,一天24小时去掉这6个小时,还剩下18个小时,那20%的时间=18小时*3600秒*0.2=12960秒。

最终计算出来的结果为80w请求/12960秒=61左右。也就是说接口TPS满足61即可。

但是也需要考虑一个问题,因为上面的用户请求是按照100w评估,也有可能推出这个活动后,每日会有超过100w的用户来签到。签到业务每个用户只能执行一次,如果是其他业务,可能会有多次操作。所以评估出来指标后,为了更加保险一些,最好再乘以一个冗余系数,提高预期指标,防止人为评估造成预期指标偏低的情况

这个冗余系数一般定为2-5之间(个人经验),上面计算出来的tps指标为61,如果再乘以一个冗余系数3,那么最终tps指标就定为183。同时,将来项目上线后,可以通过对项目接口的峰值监控,来对比之前评估的算法结果,调整冗余系数,最终随着不断的数据积累,将会形成一套本项目的性能模型

loadrunner如何确定预期TPS相关推荐

  1. JMeter 像 LoadRunner 那样实时查看每秒事务数(TPS)、事务响应时间(TRT)

    转载至:https://blog.csdn.net/defonds/article/details/54576604 熟悉 LoadRunner 的朋友一定不会对其 TPS(每秒事务数).TRT(事务 ...

  2. 性能测试(01)-jmeter元件-线程组、调试取样器

    1.线程组 线程组是一个测试计划的开始点.在一个测试计划中的所有元件都必须在某个线程组下.线程组控制 JMeter 执行你的测试计划中的线程数量.每个线程组都会独立的运行测试计划,互不干扰. 1.1. ...

  3. Amazon Personalize:帮助释放精益数字业务的高级推荐解决方案的功能

    By Gerd Wittchen 盖德·维琴 推荐解决方案的动机 (Motivation for recommendation solutions) Rapid changes in customer ...

  4. 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系

    概述 在jmeter中,只要提到并发,99%的同学立马想到线程组.需要多少并发就启动多少线程组,这已经成了大部分人的共识.这种理解方式很明显是把并发数和线程数的概念混淆了.线程组中不光有线程数,也有循 ...

  5. 性能测试中的二八原则

    在生活中,做任何事情之前,最好先确定一个目标. 同样的,在我们日常做性能测试之前,最好把本次预期性能指标确定下来,没有预期指标的衡量,将无法评估测试结果数据是否满足预期.比如以下这样的指标: 接口 预 ...

  6. 基于eBPF的云原生可观测性开源工具Kindling之Kindling-agent 性能测试评估

    背景 Kindling-agent是基于eBPF的云原生可观测性开源工具Kindling中采集端的组件,能够通过采集和分析内核事件,获取运行于同一宿主机上的其他服务的业务.网络等指标.其工作模式是在主 ...

  7. LoadRunner12使用

    谨记使用管理员权限打开lr webtours安装使用 1.下载解压 2.安装草莓 3.打开StartServer 打开路径http://127.0.0.1:1080/WebTours/ (转) win ...

  8. ZLJ卖场-全链路压测演进

    作者|庄锦弟 背景 原ZLJ卖场的压测流程,是依托于阿里云PTS工具,团队自身缺乏性能测试能力自建,缺少性能分析和数据沉淀,测试场景单一,只有单接口和多接口压测,缺少场景和链路压测,不能相对合理的评估 ...

  9. 性能测试准备——计算pacing值

    在混合压力测试场景和稳定性测试场景中,我们需要配置pacing值,以保证各支交易按占比向服务器发压力,符合生产上的情况. 预期TPS通过需求给出的交易量计算得出,参考<性能测试准备--计算TPS ...

最新文章

  1. 【转】常用数据结构及复杂度
  2. mysql 常用命令 | 表间 弱关联 join
  3. 知识点讲解四:栈溢出(stack overflow)问题解决方案
  4. pandas concat_pandas-数据合并-concat(最全参数解释,含代码和实例)
  5. sklearn模型支持输入list吗?
  6. 多重响应交叉表点不动确定_风靡全球的尼克巨星登陆杭城!还有19.9元美食、多重惊喜好礼……嗨翻12月!...
  7. 一则 Oracle 和 SqlServer 语法区别 (原创)
  8. hadoop集群搭建(3)
  9. 9.STC15W408AS单片机EEPROM
  10. Python爬取京东图书销量榜
  11. linux工程师前景_嵌入式Linux工程师发展前景 嵌入式工程师待遇怎样?
  12. Excel也能制作电子印章,你见过吗?学会了职场不求人
  13. 抖音上热门精选的要求 视频怎么修改md5
  14. 【win10】笔记本(台式)如何用根网线(WI-FI)实现完全控制另一台电脑教程
  15. 离散信号内插和抽取Matlab,抽取与内插的频谱分析
  16. Conhost.exe是什么进程?为什么会启动运行?图文详解
  17. 理财等额本息和等额本金计算公式
  18. 对LMAX架构以及Event Sourcing模式的一些新思考和问题的记录
  19. 牛客面试题HTML与CSS部分
  20. vue+ elementUI使用el-autocomplete从远程实时查询

热门文章

  1. Netty之Http与Websocket
  2. delhpi 身份证校验
  3. php怎么获取html span标签的值_如何获取PHP中所有html元素的列表?
  4. 如何彻底卸载Oracle数据库
  5. for循环中的break与continue
  6. linux命令之------Cat命令
  7. WebStorm使用npm命令提示: ‘npm‘ 不是内部或外部命令,也不是可运行的程序的解决方法
  8. 【每日一题见微知著】二分法——找单身狗(bushi)
  9. Vue CLI 3.x 与 2.x的区别
  10. numpy数组array的shape属性-1维、2维···