• 1. 性能测试基础 2018年10月22日
  • 2. 理发店模型©2007 iSoftStone Holdings Ltd. All Rights Reserved.
  • 3. 三个假设 理发店共有3名理发师 每位理发师剪一个发的时间都是1小时 我们顾客们都是很有时间观念的人而且非常挑剔,他们对于每次光顾理发店时所能容忍的等待时间+剪发时间是3小时,而且等待时间越长,顾客的满意度越低。如果3个小时还不能剪完头发,我们的顾客会立马生气的走人。 ©2007 iSoftStone Holdings Ltd. All Rights Reserved.
  • 4. 理发店内场景模拟©2007 iSoftStone Holdings Ltd. All Rights Reserved.
  • 5. 理发店性能模型©2007 iSoftStone Holdings Ltd. All Rights Reserved.
  • 6. 内容©2007 iSoftStone Holdings Ltd. All Rights Reserved.21软件性能测试性能测试的基本概念3性能测试术语
  • 7. 性能定义性能是一种指标,表明软件系统或构件对于其及时性要求的符合程度
  • 8. 性能问题的根源资源在时间、空间上的局限性 结构性系统的性能问题
  • 9. 性能表现形式响应性 响应性是系统实现其响应时间或吞吐量目标的能力 可伸缩性 可伸缩性时系统在对其软件功能的要求增加的情况下,继续实现其响应时间或吞吐量目标的能力 可靠性 可靠性是指系统在大并发用户数访问下,能长时间稳定、正确运行的能力。
  • 10. 性能误区在拥有待测的执行代码之前,不可能做任何有关性能的事情 性能模型 性能估算 误差控制技术 “性能在很大程度上是构件之间进行通讯的频率和性质的函数,所以加上构件本身的性能特性,可以通过研究系统体系结构来预测性能。” 性能管理花费太多的时间 性能模型复杂而且建模成本高
  • 11. 内容©2007 iSoftStone Holdings Ltd. All Rights Reserved.21软件性能测试性能测试的基本概念3性能测试术语
  • 12. 软件性能特点性能测试是一种度量 软件性能是设计规划出来的 性能测试只能够部分的反应软件性能。 软件性能是一个系统工程。
  • 13. 性能管理被动的性能管理 把它构建起来,看它做的怎么样。 我们以后会进行调整;现在没有时间考虑性能。 在没有能测量的东西之前,做不了任何有关性能的事。 别担心。我们的软件供应商保证产品能达到我们的性能目标。 性能?那时发布版本 4.0 时要做的事。 我们只需要购买一个更快的处理器。 问题?我们没有性能方面的问题。主动的性能管理 项目中设立性能工程师,负责跟踪和沟通性能问题。 项目中的每个人都知道性能工程师具体是谁。 有一个识别性能威胁(达不到性能目标的危险),并对之作出相应的处理过程 团队成员受过性能过程的培训。 项目有一个适当的性能风险管理计划,它建立在差额成本和性能工程活动成本的基础上。
  • 14. 性能工程
  • 15. 性能概念模型
  • 16. 性能测试的目标考察系统是否满足预期的性能要求 作为对系统进行调优的参考 考察系统的可扩展性 用性能测试手段发现系统存在的问题 提供部署方案的参考
  • 17. 性能测试的必要性
  • 18. 性能测试的投资回报交付高质量的系统 避免项目投产后的失败导致的投资损失 最大程度为用户考虑 为企业的实施提供信心 软硬件投资最低化,实现正确的容量规划
  • 19. 透视系统角度用户视角 响应时间 稳定性 管理员视角 延迟(网络延迟、数据库延迟) 系统资源使用状况 开发视角 架构设计 代码实现 算法对资源的影响 多线程编程 数据库实现 商业视角 高响应速度带来竞争力 高容量提高投入产出 高可靠性带来品牌
  • 20. 用户视角的系统性能响应时间——用户最重视的性能体验 2/5/10原则 过长的等待时间会让用户烦躁和不安 稳定性——系统的崩溃带来的直接是用户的崩溃 HTTP 500 HTTP 404 Connection Refused 应用服务器/数据库崩溃
  • 21. 开发角度性能问题的原因对所使用的技术不熟悉 系统架构设计的不合理 程序员的实现错误
  • 22. 内容©2007 iSoftStone Holdings Ltd. All Rights Reserved.21软件性能测试性能测试的基本概念3性能测试术语
  • 23. 基本术语响应时间 并发用户数 吞吐量
  • 24. 响应时间应用系统从发出请求开始到客户端接收到响应所消耗的时间
  • 25. 用户数系统用户数 在线用户数 并发用户数
  • 26. 例子OA 系统,该用户有 3000 个用户,平均每天大约有 400 个用户要访问该系统,对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为 4 小时,在一天之内,用户只在 8 个小时内使用系统。
  • 27. 吞吐量单位时间内系统处理的客户请求的数量 事务/秒 请求数/秒 页面数/秒 人数/秒 业务数/秒 字节数/秒 吞吐量指标的作用 用于协助设计性能测试场景,以及衡量性能测试场景是否达到了预期的设计目标 用于协助分析性能瓶颈
  • 28. 其他概念性能计数器 资源利用率 思考时间
  • 29. 应用领域应用领域 能力验证 能力规划 性能瓶颈诊断 性能调优 发现缺陷