构建理想的 Microsoft SQL Server 2012 生产服务器可能是一项艰巨的任务,存储、RAM 或处理器选择等变量甚至会让经验丰富的 IT 管理员感到困惑。 我们上次发布了关于选择最佳方案的分析 英特尔至强 E5-2600 v2 CPU 用于在非虚拟化环境中运行 SQL Server 2012。 除了 CPU 之外,RAM 是考虑在 iron 上运行的 SQL 的性能需求时的另一个关键组件。 对于此测试,我们使用了与英特尔处理器研究相同的测试台,这次重点是将美光 PC3-12800 RAM 与性能最佳的 CPU 和存储一起步进,以衡量其性能影响。
构建理想的 Microsoft SQL Server 2012 生产服务器可能是一项艰巨的任务,存储、RAM 或处理器选择等变量甚至会让经验丰富的 IT 管理员感到困惑。 我们上次发布了关于选择最佳方案的分析 英特尔至强 E5-2600 v2 CPU 用于在非虚拟化环境中运行 SQL Server 2012。 除了 CPU 之外,RAM 是考虑在 iron 上运行的 SQL 的性能需求时的另一个关键组件。 对于此测试,我们使用了与英特尔处理器研究相同的测试台,这次重点是将美光 PC3-12800 RAM 与性能最佳的 CPU 和存储一起步进,以衡量其性能影响。
传统上讲,SQL Server 的 RAM 越多,性能就越高。 利用额外的 RAM 可降低给定存储阵列上的 I/O 占用空间,并提供一些缓存优势。 在一切都保持不变的情况下,我们看看您可以将多少 RAM 专用于 SQL Server,同时仍保持低延迟配置文件。 在本文中,我们展示了分配 128GB 专用于 SQL Server 的性能影响,这是我们目前为企业审查测试设备的地方,低至 8GB。
测试平台
对于此分析,我们正在评估 Micron PC3-12800 DDR3 内存 美超微 SuperStorage 服务器 2027R-AR24NV 运行 Windows Server 2012,它是支持 E2-5 和 E2600-5 v2600 系列英特尔 CPU 的 2U 双插座盒。 系统 RAM 由 XNUMX 个 16GB 美光 PC3-12800 DIMM 每次测试都保持静态。 要更改 SQL Server 使用的 RAM 量,我们更改分配设置,将其限制为为每个步进选择的数量。 我们利用了 2.6TB 融合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 固件/驱动程序
性能
每个指定的 RAM 步进间隔都以相同的方式进行测试:利用我们的 SQL Server 2012 OLTP 基准测试 数据库位于单节点 600P Supermicro 服务器内的 PX2 上。 与同类中的大多数存储设备一样,我们不必太担心每秒的事务处理量; 重点实际上是每个交易完成的延迟。
正如预期的那样,分配给 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 毫秒的延迟。
为 SQL Server 5 选择最佳 Intel Xeon E2600-2 v2012 CPU