我如何找到两个相同的 Ubuntu 服务器之间性能差异巨大的原因?

the*_*man 9 linux ubuntu performance java ubuntu-10.04

我在数据中心的同一个机架中运行两台Dell R410服务器(在负载平衡器后面)。两者都具有相同的硬件配置,运行 Ubuntu 10.4,安装了相同的软件包并运行相同的 Java Web 服务器(没有其他负载),我发现两者之间存在显着的性能差异。

性能差异在两台服务器的平均响应时间上最为明显(在 Java 应用程序本身中测量,没有网络延迟):其中一台比另一台快 20-30%,非常一致。
我曾经dstat想过,是否有更多的上下文切换、IO、交换或任何东西,但我看不出有什么不同。在相同的工作负载下(无交换,几乎无 IO),一台服务器上的 CPU 使用率和负载更高。

因此,差异似乎主要受 CPU 限制,但是虽然使用简单的 CPU 基准测试sysbench(关闭所有其他负载)确实产生了差异,但只有 6%。所以也许不仅仅是CPU,还有内存性能。

到目前为止,我已经检查过:

  • 所有组件的固件版本(相同)
  • BIOS 设置(我使用 进行了转储dmidecode,没有显示任何差异)
  • 对比了一下/proc/cpuinfo,没啥区别。
  • 我比较了 的输出cpufreq-info,没有区别。
  • Java / JVM 参数(两个系统上的版本和参数相同)

另外,几个月前我完全更换了 RAM,没有任何影响。

我搞不清楚了。我能做些什么来弄清楚,发生了什么?

更新:耶!两台服务器现在的性能相同。这是 jim_m_somewhere 在评论中命名的“power CRAP”设置。“电源管理”的 BIOS 选项在快速服务器上位于“最大性能”上,在另一台上位于“主动电源控制器”(戴尔的默认设置)上。显然我忘记了,我在两年前进行了该设置,而且我并没有在所有服务器上都这样做。感谢大家提供非常有帮助的意见!

chu*_*utz 6

两个想法,取决于你想走多远:

  1. 交换两台服务器的磁盘,看看速度性能是停留在硬件上还是随着软件移动。

  2. 比较/opt/dell/toolkit/bin/syscfg -o complete-bios-config.out如果你能以某种方式欺骗这个包来安装的输出。


归档时间:

查看次数:

3123 次

最近记录:

12 年,11 月 前