• 测试性能模型分析

1、曲线拐点模型

这个图中X轴为并发用户数,随着并发用户数的增大,二维空间被划分为三个区域:轻压力区、重压力区和拐点区。

Y轴表示资源利用率、吞吐量和响应时间,应该以X为自变量来逐一分析这三个指标的变化,再综合分析。

①随着并发用户数的增加,资源利用率逐步上升,最后达到饱和。

②随着并发用户数的增加,吞吐量增加。进入重压力区后逐步平稳,达到拐点区后急剧下降,说明系统已达到处理极限。

③随着并发用户数的增加,在轻压力区的响应时间变化不大,比较平缓,进入重压力区后呈现增长的趋势,最后进入拐点区后倾斜率增大,响应时间急剧增加。

随着并发用户数增加,资源利用率和吞吐量增加,说明系统正在积极处理,所以响应时间增加得并不明显,处于比较好的状态。但是随着并发用户数的增加,压力也在持续地增大,吞吐量与资源利用率都达到了饱和,随后吞吐量急剧下降,造成响应时间急剧增长。轻压力区与重压力区的交界点是系统的最佳并发用户数,因为各种资源都利用充分,响应也很快;而重压力区与拐点区的交界点是系统的最大并发用户数,因为超过这个点,系统性能将会急剧下降甚至崩溃。

2、地铁模型分析

模拟地铁的场景来分析性能。

先做出以下3个假设

  1. 某地铁进站只有3个刷卡机
  2. 人少的情况下,乘客能很快进站,假设进站只需要1s
  3. 乘客如果等待超过30min就会暴躁、唠叨甚至放弃(怎么感觉有点像小时候玩的餐厅小游戏啊,哇哈哈~)

最初会出现如下3种场景:

  1. 只有1名乘客进站,可以在1s内完成,且只利用了一台刷卡机,剩余两台等待着。
  2. 只有2名乘客进站,可以在1s内完成,且只利用了两台刷卡机,剩余一台等待着。
  3. 只有3名乘客进站,仍能在1s内完成,此时资源得到充分利用。

随后新场景出现了:

  1. 来了6名乘客,因为A、B、C先到,所以D、E、F要先排队等候,此时进站时间为2s。(相当于“响应时间”增长)
  2. 来了9名乘客,则其中有3名的“响应时间”为1s,有3名的“响应时间”为2s(进站1s+等待1s),还有3名的“响应时间”为3s(进站1s+等待2s)
  3. 来了10名乘客,则必有1名的“响应时间”为4s,以此类推,随着人流涌入,将达到乘客的忍耐极限。
  4. 假设地铁站正好在火车站,每名乘客都拿着大小不一的包,有的因为包太大卡在刷卡机那导致堵塞,进站时间就有不一样了。

那么,如果拿包的乘客可以通过加宽的刷卡机快速进站,就能改善堵塞的问题了。如果乘客越来越多,3台刷卡机已经无法满足需求,那么为了减少人流的积压,可以多开几个刷卡机,增加进站的人流和速度(提升TPS、增大连接数)。

还有1个大BOSS:

  1. 到了上班高峰时间,乘客数量上升太快,现有的进站措施已经无法满足,单单增加刷卡机已经不行了。此时的乘客相当于“请求”,乘客不是在地铁站进站排队,就是在站台排队等车,已经造成严重的“堵塞”。

此时,增加发车频率(加快应用、数据库的处理能力)、增加车厢数量(增加内存、增大吞吐量)、增加线路(增加服务的线程)、限流、分流等多种措施就应需而生了。

转载于:https://www.cnblogs.com/gajendra/p/6192697.html

软件测试入门随笔——软件测试基础知识(七)相关推荐

  1. 软件测试入门随笔——软件测试基础知识(一)

    Q1:什么是软件测试? 广义概念:软件测试师是指软件生存周期中所有检查.评审和确认工作,其中包括了对分析.设计阶段,以及完成开发后维护阶段的各类文档.代码的审查和确认. 狭义概念:识别软件缺陷的过程, ...

  2. 视频教程-软件测试入门视频教程-软件测试

    软件测试入门视频教程 河北师大软件学院测试教室主任.项目基地测试经理;尚大学.金牌讲师.擅长技术: 项目模块化流程设计.软件测试流程设计及优化.项目管理平台的整合与应用.功能性自动化测试工具.性能测试 ...

  3. python向量计算库教程_NumPy库入门教程:基础知识总结

    原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...

  4. 网络知识入门:路由器基础知识全接触

    网络知识入门:路由器基础知识全接触 发布时间:2008.05.29 07:01     来源:赛迪网    作者:月伴雨 路由器综述 路由器是互联网的主要节点设备.路由器通过路由决定数据的转发.转发策 ...

  5. 小白入门!网络安全基础知识详解(附知识问答)

    小白入门!网络安全基础知识详解(附知识问答) 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用所 ...

  6. 深入了解计算机基础,计算机入门《计算机基础知识》(全16集)

    计算机入门<计算机基础知识>是一套比较经典的老教程,里面个别章节有些过时,但是原的东西讲的很好永不过时,对于想了解电脑.计算机的初学者是很好的教程,课程讲的十分详细.深入浅出,相对于< ...

  7. [数据与分析可视化] D3入门教程1-d3基础知识

    d3.js入门教程1-d3基础知识 文章目录 d3.js入门教程1-d3基础知识 1 HTML介绍 1.1 什么是HTML? 1.2 自定义文档样式CSS 1.3 构建svg图形 2 d3绘图入门 2 ...

  8. 炒股配资入门有哪些基础知识?

    炒股配资入门有哪些基础知识?盘前查跟大家讲一下,如下: 第一,开户要想投资股票,首先你要有一个股票账户,股票账户的开户就要去找券商,选择一个好券商也是很重要的.市场上可选择的券商有很多,关键还是看佣金 ...

  9. 机器学习入门一:基础知识

    机器学习入门一:基础知识 前言 机器学习介绍 1.什么是机器学习? 2.机器学习中的常见困难 模型的泛化[^1] (Generalization)能力 3.机器学习中数据集划分 4.机器学习中几种学习 ...

最新文章

  1. 拿下中科大的计算机课程全靠它了!
  2. C# winform treeview节点重命名
  3. Sensors Data:初创公司构建数据分析平台
  4. Qt C++ 检测优盘插入或拔出
  5. 【原】python中文文本挖掘资料集合
  6. ts watch路由 参数变化_TypeScript基础(六):TS 在 Vue 中的用法,data,生命周期,methods,computed,props,watch,$emit...
  7. java游戏贪吃蛇_Java实现贪吃蛇游戏
  8. iPad Air 2完全评测:可怕的三核CPU、六核GPU
  9. dw显示云服务器的数据库,dw如何连接云服务器
  10. 阿里云SDK实现短信发送
  11. DependsOn注解
  12. OSEK和Autosar网络管理的区别和共同点
  13. 批处理文件(.bat)的写法——DOS命令大全
  14. C语言sar图像几何校正,SAR图像几何校正方法与流程
  15. c语言malloc函数的用法和意义
  16. git 解决悬空文件问题
  17. JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)
  18. MATLAB:预设矩阵的大小与不预设的时间差距
  19. 程序员转型IT讲师的优势
  20. 005-电脑软件安装包20190408

热门文章

  1. FFmpeg自学入门笔记
  2. php开发微信手册,PHP技术开发微信公众平台
  3. 非计算机管理员用户 不可以,电脑非管理员账户要怎么办
  4. 全球及中国企业社交网络行业渠道营销分析及市场全面调研报告2021-2027年
  5. 外呼防封系统源码提供
  6. Java开发必学:java核心技术电子书资源
  7. ifix5.8连接s7-300 plc的点-通过s7a power tool
  8. wince植入胎压监测_【折腾】小菲wince车载导航功能扩展
  9. CentOS7.4静默安装Oracle,并通过工具远程连接
  10. IP座席接入系统方案