性能之巅 洞悉系统、企业与云计算

在运维各类系统、服务过程中,性能问题一直是运维工作中一个很大的挑战,最近发现了一本好书,是一位性能专家Brendan Gregg编写的《Systems Performance:Enterprise and the Cloud》,他曾经在Sun公司担任首席性能和内核工程师。这本书将会为今后的运维工作提供十分有效的帮助,为此本文将作为读书笔记,总结内容,并温故而知新。


译者序

“已知的已知,已知的未知,未知的未知”,现在的应用涉及到复杂的操作系统,各类编程语言,本身就是复杂的实体,无法做到掌握透彻;而系统也无法完全预测和处理外部日益变化的环境,也就是无法预测未来的不确定。所以问题可能来源于任何地方,但你不需要恐惧对待,应该心存敬畏。但要做到不深陷在各种技术知识上,需有全局的系统观,因为技术的最好体现就是系统本身,我们需要对系统的层次和知识有深刻的理解和实践。

1.1 系统性能

系统性能是对整体系统的研究,所有数据路径上和软硬件上发生的事情都可能对性能造成影响。我们需要有一张包含所有组件,数据的示意图来帮助我们理解各组件之间的关系。系统分析时需要了解系统内所有的技术栈:


1.2 人员

性能分析需要多类人参与协同,包括系统运维、网络运维、开发、数据库管理员等,这对他们来说一般是一项兼职的事情,虽然通常他们只会负责和他们自己有关的部分。也会存在性能工程师的工种,他们一般对环境做全局的研究,协同其他部门解决性能问题;分析系统环境来做容量规划。在系统发布前一般会有对应应用的工程师对其做一些性能检查,配置优化等,但是有限。

1.3 事情

性能工作理想流程:

1.设置性能目标和建立性能模型

2.基于软件或者硬件原型进行性能特征归纳

3.对开发代码进行性能分析(软件整合之前)(单元测试?

4.执行软件非回归性测试(软件发布前或发布后)

5.针对软件发布版本的基准测试(压测)

6.目标环境中的概念验证(Proof-of-concept)测试(预发布)

7.生产环境部署的配置优化

8.监控生产环境中运行的软件

9.特定问题的性能分析

你可能感兴趣的:(性能之巅 洞悉系统、企业与云计算)