データセンターの同じラック(ロードバランサーの背後)で2台のDell R410サーバーを実行しています。どちらも同じハードウェア構成で、Ubuntu 10.4を実行し、同じパッケージをインストールし、同じJava Webサーバーを実行し(他の負荷なし)、2つの間に実質的なパフォーマンスの違いが見られます。
パフォーマンスの違いは、両方のサーバーの平均応答時間(ネットワークレイテンシなしのJavaアプリ自体で測定)で最も明白です。一方は他方よりも20〜30%高速で、非常に一貫しています。
以前dstat
は、コンテキストスイッチ、IO、スワッピングなどがあるかどうかを考えていましたが、違いの理由はわかりません。同じワークロード(スワッピングなし、実質的にIOなし)では、1つのサーバーでのCPU使用率と負荷が高くなります。
したがって、違いは主にCPUバウンドであるように見えますが、sysbench
(他のすべてのロードをオフにして)を使用した単純なCPUベンチマークは違いをもたらしましたが、それはわずか6%でした。だから、多分それはCPUだけでなくメモリパフォーマンスでもあります。
これまでに確認したこと:
- すべてのコンポーネントのファームウェアリビジョン(同一)
- BIOS設定(私はを使用してダンプを
dmidecode
行いましたが、違いは示されていませんでした) - 私は比較しました
/proc/cpuinfo
、違いはありません。 - の出力を比較しましたが
cpufreq-info
、違いはありません。 - Java / JVMパラメータ(両方のシステムで同じバージョンとパラメータ)
また、数ヶ月前にRAMを完全に交換しましたが、何の影響もありませんでした。
迷っています。何が起こっているのか、どうすればわかりますか?
更新:イェーイ!現在、両方のサーバーは同等に機能します。これは、jim_m_somewhereがコメントで名前を付けた「パワーCRAP」設定でした。「電源管理」のBIOSオプションは、高速サーバーでは「最大パフォーマンス」、もう1つでは「アクティブ電源コントローラー」(Dellのデフォルト設定)にありました。明らかに、2年前にその設定を行ったことを忘れており、すべてのサーバーでその設定を行ったわけではありません。非常に役立つ情報をありがとうございます。