devops:改变思维,让一切更加高效

持续交付发布可靠软件的系统方法(部署流水线)第九章:非功能需求的

2018-11-25  本文已影响60人  潘晓华Michael

《持续交付发布可靠软件的系统方法》读书笔记

性能、吞吐量、容量概念

性能:对处理单一事务所花时间的一种度量,既可以单独衡量,也可以在一定的负载下衡量。
吞吐量:系统在一定时间内处理事务的数量,通常它受限于系统中的某个瓶颈
容量:一定的负载下,当每个单独请求的响应时间维持在可接受范围内时,系统所能承担的最大吞吐量。
非功能性:有效性、容量、安全性、可维护性等。

非功能需求管理

将非功能需求与功能需求一样对待。

如何为容量编程

  1. 为何要做容量测试
    高德纳著名格言:
    在97%的时间里,我们都应该忘记那种小的效率提升:过早优化是所有罪恶之根。然而,我们也不能让另外非常关键的3%的机会与我们擦肩而过。一个优秀程序员不会因为这个原则而对其置之不理,他们非常聪明,只会在识别出那段关键代码后,才会非常细心地去查看。
    在找到解决方案之前,必须先找出问题的根源。容量测试会告诉我们是否存在问题,以便我们可以修复它。不要枉自猜测,而要先进行度量。
  2. 解决容量问题
    现代软件系统中,最昂贵的是网络通信或磁盘存储,在性能和应用程序的稳定性方面,跨进程或网络边界的通信是昂贵的,所以这类通信应该尽量最小化。
    让业务干系人决定系统的容量特性极其重要,以免方案过度设计 。
    为解决容量问题,可采取的策略:

容量度量

容量度量测试遵行有两种策略

容量测试环境

自动化容量测试

  1. 测试具体的现实场景
  2. 预先设定成功的门槛
  3. 尽可能让测试运行时间短一些
  4. 在变更面前要更健壮一些
  5. 组合成大规模的复杂场景
  6. 可重复的,并且既能串行执行,也能并行执行

容量测试系统的附加价值

容量测试系统是一个试验场所,可以根据需要有效地控制时间,设计和执行所有的试验场景来帮助诊断问题、预测问题并找到触发问题办法。

上一篇 下一篇

猜你喜欢

热点阅读