性能之巅读书笔记--第一章绪论
敬畏心态
有让你手足无措的问题出现其实是一种很正常的状态,对此的恐惧只是人施加给自己的情感层面的东西。与此相反,始终对未知心生敬畏才是对待未知正常的态度,更是本应有的觉悟。
solaris退出历史舞台的原因,太贵
Solaris 机器更多地注重性能。我怀疑这是因为Sun 的系统平均来说要比同等的Linux 系统贵得多。这带来的结果是,花大价钱的人更倾向于挑剔性能,因此Solaris 在这个领域做的工作更多。如果你的Linux 机器性能不够好,你可以再买一台并对工作负载做切分——毕竟便宜。如果花了你几百万美金的Ultra Enterprise10000 性能不好,你公司也因此会每时每刻都在承受不小的损失,你会打Sun 的服务电话寻求答案。
绪论
系统性能--全局视角,不要只见树木不见森林
系统性能是对整个系统的研究,包括了所有的硬件组件和整个软件栈。所有数据路径上和软硬件上所发生的事情都包括在内,因为这些都有可能影响性能。
工作通常起步晚
理想情况下,在硬件选型和软件开发之前,性能工程师就应该开始工作。作为工作的第一步,可以设定性能目标并建立一个性能模型。产品开发过程常常缺失了这一步,性能工程工作被推迟直到问题出现。
认识一个术语--容量规划
术语容量规划(capacity planning)指的是一系列事前行动。在设计阶段,包括通过研究开发软件的资源占用情况,来得知原有设计在多大程度上能满足目标需求。在部署后,包括监控资源的使用情况,这样问题在出现之前就能被预测。
两个视角
性能是可以从不同的视角来审视的。两种性能分析的视角:负载分析(workload analysis)和资源分析(resource analysis),二者从不同的方向对软件栈做分析。
不能眉毛胡子一把抓
性能分析的又一个难点:真正的任务不是寻找问题,而是辨别问题或者说是辨别哪些问题是最重要的。
性能重要指标--延时
延时测量的是用于等待的时间。广义来说,它可以表示所有操作完成的耗时。
动态跟踪
动态跟踪技术把所有的软件变得可以监控,而且能用在真实的生产环境中。这项技术利用内存中的CPU 指令并在这些指令之上动态构建监测数据。这样从任何运行的软件中都可以获得定制化的性能统计数据,从而提供了远超系统的自带统计所能给予的观测性