性能之巅—读书笔记 第一章 绪论

性能之巅 第一章 绪论

性能是一门令人激动,富于变化同时又充满挑战的学科。本章介绍性能的领域,性能的人员和所做的事,分析的视角,面临的挑战。

1.1 系统性能

 系统性能是对整个系统的研究,包括了所有的硬件组件和整个软件栈。所有的数据路径上和软硬件上所发生的事情都包括在内,都有可能影响性能。对于分布式系统来说,意味着多台服务器和多个微服务,需要有一张完整的示意图来说明软件架构之间的关系。

下图呈现的是单台服务器的通用软件栈,包括操作系统内核,数据库,应用程序层。

1.2 人员

性能测试是需要多方协作的事务,需要系统管理员,技术人员,应用开发者,数据库管理员和网络管理员。需要专业的性能测试人员做性能指标和新能的测试规划。

1.3 事情

性能领域包括了一下事情,按照理想顺序排序如下:

  1. 设置性能目标和建立性能模型
  2. 基于软件或硬件原型进行性能特征归纳
  3. 对软件的架构和开发代码进行性能分析
  4. 执行软件的功能测试
  5. 针对软件发布版本的基准测试
  6. 目标环境性能测试的验证
  7. 生产性能配置优化
  8. 监控生产环境中运行的软件
  9. 特性问题的性能分析

1.4 视角

性能的两种分析视角:负载分析(workload analysis)和资源分析(resource analysis),二者从不同的方向对软件栈做分析。

系统管理员作为资源的负责人,通常采用资源分析视角,应用程序开发人员,对最终实现的负载性能负责,通常采用负载分析视角,每种视角都有优势,尝试从两个角度都进行分析,是很好的选择。

1.5 性能的挑战

1.5.1 性能是主观的

性能好坏感知有可能是主观的,但是应该尽量客观的定义性能指标,通过延迟等指标。性能的好坏取决于应用开发人员和最终用户的性能预期

1.5.2 系统是复杂的

复杂性,主要是性能分析往往缺少一个明确的方向,从猜测开始,不断验证猜测。要理解产生的问题,必须理清组件之间的关系,故障有可能是连锁反应。也有可能修复一个问题只是把瓶颈推向了系统里其他地方,导致系统的整体性能并没有提升。

1.5.3 可能有多个问题并存

性能问题有可能并不是一个,辨别性能问题的重要程度,分析性能问题解决后带来的增速。性能的适合量化指标-延时

1.6 延时

延时,就是用于等待的时间。延时估计最大增速。下图例子,延时一共是100ms,80ms阻塞是等待磁盘读取,通过减少磁盘读取时间(使用缓存),可以最好的提升性能,并可以估计结果能够提高5倍速,20ms左右延时。

猜你喜欢

转载自blog.csdn.net/LoveG_G/article/details/113610923
今日推荐