选择 AMD 处理器而不是 Intel 时的注意事项

Mor*_*ker 13 virtualization lamp kvm-virtualization

我在一家拥有大量传统 LAMP 网络应用程序的公司工作,我们正在尝试将硬件从约 250 台物理服务器升级到约 40 台带有虚拟化的新服务器。我们收到了供应商的两个报价——一个是建议使用 Intel 处理器,另一个是 AMD。

我喜欢 AMD 的高核心数的一件事是,我们将能够将核心专用于 VM,这意味着由于尖峰而导致应用程序相互干扰的可能性较低,这在一定程度上更多对我来说比最佳性能更重要。

我想到的其他考虑因素是:

  • 功耗可能不同(在我们的案例中不是问题。)
  • 将不支持像CRC32 (SSE 4.2)这样的 CPU 指令(编辑:MySQL 5.6 似乎支持 SSE4.2。不确定 Apache)
  • MySQL 在 ~16/~32 个内核后无法完美扩展(我愿意接受这种权衡。)

我还缺少哪些其他考虑因素?

(版主注意:我知道这个线程- 我认为这个问题略有不同。)


编辑:假设任务异常并行(网络服务器),并且我不关心数据库服务器不是如此并行。

sys*_*138 10

关于最新的 AMD 处理器产品 Bulldozer 已经有很多媒体报道。这部分的“服务器”版本尚未发布,但桌面产品可以很好地了解新内容的一些潜在问题。

就目前这代Server部分来说,总体来说还是比较通用的推荐。Web 服务和(大多数)数据库工作主要基于整数,而 AMD CPU 可以很好地处理整数计算。此外,网络服务(通常)是一个可以高度并行化的问题。AMD 非常专注于“许多内核可以加快工作速度”,而 LAMP(同样,一般而言)往往对此反应良好。

您真正需要注意的一个方面是应用程序中的单线程依赖项。AMD 部件不像英特尔部件那样按时钟方向扩展,因此基本上单线程的进程可能比在更快的 CPU 部件上更快地成为整个系统的瓶颈。只有您知道这是否适用于您。某些数据库操作可能更好地由更快的英特尔处理器和较小的内核数提供,这样那些少数的胖线程就可以真正尖叫起来。

应用程序代码在这里也很重要。一些长时间运行的 Web 服务器进程可能会占用大量单线程时间,并且还需要更快的时钟。这可能可以通过重写对长时间运行的过程的需求来解决,但在此之前,更快的时钟会很好。

但总的来说,对于 lot-o-webserver-vm 风格的工作负载,那些 12 核部件可以扩展得相当远。如果您确实遇到了一些单线程问题,使用更高时钟的 8 核部件将是一个可以接受的折衷方案。