存储评论网

为 SQL Server 2012 选择最佳 DRAM 配置

企业版  ◇  在实验室

构建理想的 Microsoft SQL Server 2012 生产服务器可能是一项艰巨的任务,存储、内存或处理器选择等变量甚至会让经验丰富的 IT 管理员也感到困惑。我们上次发布了一篇分析文章,探讨了如何在非虚拟化环境中选择最适合运行 SQL Server 2012 的Intel Xeon E5-2600 v2 CPU。除了 CPU 之外,内存也是考虑 SQL 在物理机上运行性能需求时的另一个关键组件。本次测试我们使用了与 Intel 处理器研究相同的测试平台,这次的重点是将 Micron PC3-12800 内存与性能最佳的 CPU 和存储搭配使用,以评估其对性能的影响。

传统上讲,SQL Server 的 RAM 越多,性能就越高。 利用额外的 RAM 可降低给定存储阵列上的 I/O 占用空间,并提供一些缓存优势。 在一切都保持不变的情况下,我们看看您可以将多少 RAM 专用于 SQL Server,同时仍保持低延迟配置文件。 在本文中,我们展示了分配 128GB 专用于 SQL Server 的性能影响,这是我们目前为企业审查测试设备的地方,低至 8GB。

测试平台

本次分析中,我们评估了运行 Windows Server 2012 的Supermicro SuperStorage Server 2027R-AR24NV服务器(2U 双路服务器,支持 Intel E5-2600 和 E5-2600 v2 系列 CPU)中 Micron PC3-12800 DDR3 内存的性能。系统内存由 16 条16GB Micron PC3-12800 DIMM组成,每次测试中内存容量保持不变。为了改变 SQL Server 使用的内存量,我们更改了内存分配设置,将其限制为每个测试步长所设定的数值。我们使用了 2.6TB 的Fusion ioMemory PX600作为主机内存储,该存储设备在 SQL Server 延迟测试中表现出色(是我们实验室测试过的速度最快的当前一代产品)。

服务器配置

  • 2 个英特尔至强处理器 E5-2687W v2 – 25M 缓存,3.40GHz,8 核
  • 英特尔 C602 芯片组
  • 内存 – 256GB (16x 16GB) 1600MHz Micron DDR3 Registered RDIMM(128GB 专用于系统,8-128GB 专用于 SQL)
  • Windows Server标准2012的
  • 3 x Supermicro SAS3 HBA(LSI SAS 3008 控制器)
  • 200GB 美光 P400m 引导固态硬盘
  • 1 x Mellanox ConnectX-3 双端口 VPI PCIe 3.0 适配器(InfiniBand LoadGen Fabric)
  • 1 x Emulex OCe11102 双端口 10GbE 适配器

存储配置

  • 闪迪 Fusion ioMemory PX600 2.6TB
    • 高性能模式下 80% 超额配置
    • 启用全功率消耗
    • VSL 4.1.1 固件/驱动程序

性能

每个指定的内存步进间隔均采用相同方式进行测试:利用我们的SQL Server 2012 OLTP 基准测试,数据库位于单节点 2P Supermicro 服务器内的 PX600 存储设备上。与同类大多数存储设备一样,我们并不太关注每秒事务数;重点在于每个事务完成的延迟。

正如预期的那样,分配给 SQL Server 的大量 RAM 获得了更高的事务性能。 在 128GB 到 64GB 之间,我们没有看到 TPS 发生巨大变化。 事实上,96GB 到 64GB 之间的下降大致保持在相同的误差范围内。 从 16GB 到 8GB 的​​差异带来了最大的变化,这告诉我们 16GB 可能是这个特定测试和服务器配置的最小有用阈值。

关注延迟,我们看到 Fusion ioMemory PX600 保持其低延迟性能的表现如何,128GB、96GB 和 64GB 结果得分在 2-3 毫秒之间。 下降到 32GB 时,延迟增加了大约 66%,但下一次下降到 16GB 时,延迟要大得多。 这一变化将延迟增加了 200%,然后当 RAM 减少到 153GB 时又增加了 8%。

虽然存储影响并未显示为该测试的一部分,但 DRAM 分配中的每一步都会显着降低数据库所在的存储设备所看到的负载。 简而言之,更多的内存转化为更少的访问存储的请求,而不是留在系统内存中。 虽然 128GB RAM 的背景负载为 50-100MB/s,但 16GB 增加到 800MB/s(不是在日志写入活动期间,这可能导致任何 DRAM 配置的大峰值)。 使用较少的存储介质,这些结果会更高。

结语

在组装高性能非虚拟化 SQL Server 时,需要考虑很多因素。 在第一篇文章中,我们研究了 CPU 及其对 SQL 性能的影响。 在这里,我们使用性能最佳的主机内存储和 CPU 来测试 RAM。 我们与 Micron 合作进行了相同的测试,范围从 8GB 到 128GB 的​​ RAM 专用于 SQL。 结果非常直观,就延迟而言,RAM 越大越好。 虽然有一个转折点,但延迟在这种配置中看到一个戏剧性的峰值。 与 16GB 相比,3GB 的延迟峰值是 32 倍,而在 8GB 时,影响更为严重。 为获得最佳性能,128GB 的​​ SQL RAM 具有最高时钟速度的 CPU 和领先的 PCIe 存储可产生仅 2 毫秒的延迟。 

Crucial/美光产品页面

为 SQL Server 5 选择最佳 Intel Xeon E2600-2 v2012 CPU

讨论这篇评论

参与 StorageReview

电子报| YouTube | 播客iTunes / Spotify | Instagram | Twitter | TikTok | RSS订阅

凯文·奥布莱恩

在 StorageReview 实验室内部评估产品并与行业领导者合作开发新的测试环境。 在家里,我养家糊口。