Xeon 处理器和大型交易

Xeon 处理器和大型交易

一点背景知识:

我们有一个 Windows 服务,它从外部服务器获取数据并将其存储在本地数据库(SQL Server 2012)上。

外部服务器每秒发送超过 1500 条“消息”,但我们本地服务器的存储速率几乎为 500 条消息/秒(Windows 服务和数据库位于具有 Xeon E5520 和 HP G7 服务器/Windows Server 2012 上的 16 GB RAM 的单个 VM 上)。

当我将服务和数据库移至本地电脑时,存储速率上升到 1100 消息/秒。

我在多台 PC(core2 duo 和 core i5)和服务器(HP G7 和 G8、VM 和物理服务器)上进行了测试,结果是一样的:所有 PC 接收消息的速度都比我们的服务器更好。

我们认为这可能是网络问题,但事实并非如此。

我使用“Sisoft Sandra”在服务器和 PC 上进行了“内存事务吞吐量”测试,发现我们的 PC 比服务器做得好得多。最低限度PC 测试结果为 5.4MTPS(基于 core2 duo E7400),最大限度服务器结果是 3MTPS(在搭载 Xeon E5-2650 的 HP Proliant DL380P 上)。

我倾向于认为 Xeon 处理器出了问题,但这是一个奇怪的结论,因为世界各地有几十台 Xeon DB 服务器。

我是不是漏掉了什么?BIOS 上是否有特殊配置可以解决此问题?

答案1

由于这是一个消息传递应用程序,并且您正在使用 HP ProLiant 服务器,因此我会将其视为低延迟配置...如果这是一个易于重现的测试,您可以尝试以下操作吗?

  • 更新服务器固件。确保系统 BIOS 和 NIC 为最新固件。如果您使用适用于 ProLiant 可引导 DVD 的 HP 服务包,它将处理所有相关组件。
  • 将 ProLiant 服务器设置为“最大性能”电源配置文件。这将禁用处理器 C 状态,可能对您正在做的事情有帮助。
  • 如果从逻辑上讲更合理,则首选裸机解决方案。虚拟化网络总是会带来一些开销。

看看调优建议我们将其用于消息传递量很大的应用程序。

相关内容