你好,我是庄振运。
从这一讲开始,我们探讨分析几个最容易发生性能问题的领域:CPU、内存、存储和网络。
这一讲先来讨论关于 CPU 的常见性能问题。首先我们从硬件的角度,来看看 CPU 的性能取决于哪些因素,然后分析一下 CPU 的内部结构。接着我们探讨和 CPU 性能相关的软件系统,看看 CPU 运行时侯的调度和切换。
CPU 的性能决定因素
宏观来讲,一台服务器里面的 CPU 性能取决于好几个因素,包括有多少处理器、多少个核、时钟主频是多少、有没有 Turbo 模式、处理器内部的运算架构以及和 CPU 紧密交互的其他部件的性能。
CPU 的更新换代很频繁,基本上每两年就会更新一代。比如 Intel 的 CPU,最近 10 年已经经历了 5 代左右。每一代都有主频的变化,而且有好几个变种。
下面的表格描述了从十年前(也就是 2009 年)的 SandyBridge,到后来的 IvyBridge、Haswell、Broadwell,直到 Skylake。注意,对后面的三代,我分别列出了其中的两种变化——单处理器(1P)和双处理器(2P)。
大体上我们可以看出,虽然 CPU 更新换代,但是处理器的时钟主频基本不再提高,甚至变得更低了。这样的目的是降低 CPU 的功耗。比如 SandyBridge 的时钟频率是 2.6GHz,但是到了 Skylake,反而降低到了 2GHz。