web-dev-qa-db-ja.com

データベースサーバーは、16コアの2CPUまたは8コアの4CPUでより優れたパフォーマンスを発揮しますか?

私が持っているもの:

  • オンライン金融アプリケーション(ASP.NET、C#)
  • ピーク時には、5,000人以上の同時ユーザーがいます
  • バックエンドはOracle11gで実行されています(アクティブサーバー+ Active Data Guardを使用したスタンバイ)。ピーク時-4K-5Kデータベースセッション
  • OracleはLinux5.8(Oracleの壊れないバージョン)にインストールされています
  • データベースサイズ:7TB
  • ディスクストレージ:NetApp(10GBネットワークに接続)

古いサーバーを交換したい(ITはHPブレードBL685Cを購入します)。サーバーには256GBのRAMが搭載されます。

CPUとコアをどうするかを理解するためにあなたの助けが必要です。オプション:

  1. それぞれ16コアの2つのCPU(2.3 GHz)
  2. それぞれ8コアの4CPU(3.0 GHz)

質問:どちらを選ぶべきですか?

P.S.来年は、OracleからSQLサーバーに移行します。推奨するオプションが両方のプラットフォームで機能することを願っています

6
Alex

あなたが見たい2つの要因があります:

  1. 総パフォーマンス:これは、ボックス上のすべてのコアの総計算能力の尺度です。この値は、CPUの PassMark CPU評価 を調べ、システム内の物理CPUの数を掛けることで見積もることができます。

  2. シングルスレッドのパフォーマンス:これは、CPUがシングルスレッドに与えることができる計算能力の尺度です。この値は、CPUの PassMark CPU定格 を調べ、CPUのコア数で割ることで見積もることができます。 (ハイパースレッドCPUの場合、物理コアの数の1.25倍で除算します。)

1台のマシンがこれらの両方の手段で勝った場合、それはおそらくあなたの最良の選択です。 2つの方法で分割すると、ソフトウェアが複数のコアをどれだけ効果的に利用できるかになります。

メモリのパフォーマンスも重要になる可能性があることに注意してください。通常、メモリチャネルが多いほど、メモリアクセスが高速になります。また、もちろん、メモリの総量も重要です。多くの場合、CPUが異なればマザーボードも異なり、メモリパフォーマンスも異なります。

10
David Schwartz

BogoMIPSがほぼ等しいので、どちらの場合も全体的なL1/L2キャッシュボリュームを見積もる必要があると思います。最大のものが勝者です。

1
poige

また、NUMA構成を知っている必要があります。 NUMAノードが1つだけまたは複数ある場合。 SQL ServerがNUMAに対応していることは知っていますが、Oracleも同様だと思います。同じNUMAノードのメモリにアクセスする方が、別のNUMAノードのメモリにアクセスするよりもはるかに高速であるため、これはデータベースのパフォーマンスに大きな影響を与える可能性があります。

1
mrdenny

たとえば、知っておく必要のあることがいくつかあります。プロセッサ速度(ghzまたはmhz)は、ジョブの実際の速度を実行しません。他のプロセッサよりもサイクル効率の高いプロセッサがあることに注意してください。どのプロセッサがそのサーバーに適しているかを判断するには、いくつかのCPUベンチマークを調べる必要があると思います。

楽しんで!

0
Masterl1nk

CPUが同じクラスの場合は、スピードアップルとアップルを比較できます。それだけで、より高速なプロセッサ(4x8x3GHz)に向かって進むでしょう。

データベースの使用状況も要因となる可能性があります。これは、データ処理の「形」についてです。それは多くの小さな計算ですか、それとも少ない大きな計算ですか? mrdennyが言ったことから離れて、それはトランザクションデータベースであるということです(そうですか?それは経済的ですか?)複数のコアがありそうなので、同じキャッシュ/ NUMAノードを共有するCPUコアの数を最大化することはそれほど重要ではないと思いますキャッシュがデータウェアハウジング/データマイニングアプリケーションの場合ほど大きな役割を果たさないさまざまなタスクに取り組んでいます。 NUMAノードが4つあると、トランザクションの状況でNUMAノードが2つある場合と比べて、実際にはメモリアクセスのスループットが向上する可能性があります。また、プロセッサが同じクラスで4x8の方が高速である場合、非ローカルメモリアクセスのパフォーマンス低下は、パフォーマンス/コアの向上によって補われる可能性があります。

CPUが同じクラスでない場合は、いくつかのベンチマークを調べて、「遅い」プロセッサの方が効率的かどうかを確認する必要があります。

また、将来の拡張の可能性も考慮してください。 4ソケットシステムで2プロセッサと4プロセッサのどちらを選択しますか?処理能力の需要が高まる可能性があると思われる場合、システムに4つのソケットがある場合、2つのプロセッサーを使用すると、さらに2つのプロセッサーに拡張する余地があります。

0
apocalysque