两个完全不同的系统性能差异很大

我有两个同时购买相同硬件configuration的Dell R730系统。 两者都运行RHEL6.9,其中从相同的图像成像。 这是在一月份的形象。 我每月更新一次仓库中的软件包,因此一般来说系统上的所有内容都应该“几乎”相同。 (即我在一个系统上改变的任何软件或设置在另一个系统上被改变,但是由于这是一个手动过程,可能会有一些错过)

我注意到一个系统的性能比另一个慢了2.5倍。 我正在testing的工作是单线程CPU密集型。 根据iostat读取一些数据文件,但非常低的磁盘io利用率。 上图显示该进程始终与100%挂钩,但系统有88个线程,平均负载仅为大约1.很less的内存使用率。 没有networking利用率。 (它使用的所有文件都是本地的)一个是复杂的python脚本,另一个是专有的软件程序,两者在一个系统上的运行速度都比较慢。

/ proc / cpuinfo是相同的。 BIOS设置是相同的。 系统上只有一个用户。 较快的系统连接到互联网,较慢的系统连接到独立networking。

在我的调查中,我只发现了两个不同之处。 1.较快的系统运行BIOS版本2.25较慢的系统运行BIOS版本2.43 2.较慢的系统已经审计运行。 但是在这个过程中审计日志中没有活动。

我意识到这很难debugging,但我正在寻找什么想法。 是否有一些内置的软件工具可以用来更深入地了解可能发生的事情?

我今天在企业硬件上使用EL6系统的build议如下:

  • 将您的Dell服务器设置为“OS控制”模式以获得电源,而“高性能”或“dynamic”模式。 这将允许您的单线程进程实际上更好地利用Turbo Boost,并赋予OS CPU调控器正确的控制权。
  • 有没有什么理由不能把固件带到同一个版本?
  • 对于EL6,您应该将tuned-admconfiguration文件设置为enterprise-storagelatency-performance
  • 如果较慢的系统没有连接到互联网,请检查DNS和您的/ etc / hosts文件定义 ,以确保您不会因为任何解决scheme问题而放慢速度。
  • 检查并比较跨系统的/etc/sysctl.conf设置。
  • 你可以运行sosreport来获得两个系统configuration的总结。

当然,你也可以分析过程… topperf toppidstatstrace

或者使用Netdata实时查看服务器,并关联所有系统度量标准以查看瓶颈存在的位置。

在/etc/profile.d/tzfix.sh中,我也做了以下几点:

 # Set TZ variable to reduce stat("/etc/localtime" activity # See: https://blog.packagecloud.io/eng/2017/02/21/set-environment-variable-save-thousands-of-system-calls/ # export TZ=:/etc/localtime 

只是一些想法开始。

这可能与电源pipe理有关。 尝试将两台服务器置于高性能模式(禁用电源pipe理)并重新执行性能testing。