IntelよりAMDプロセッサーを選択する際の考慮事項


13

私は、レガシーLAMP Webアプリケーションが多数ある会社で働いています。そこでは、ハードウェアを250台の物理サーバーから40台の新しいサーバーw /仮想化に更新しようとしています。ベンダーから2つの見積もりを受け取りました。1つはIntelプロセッサーを提案し、もう1つはAMDを提案しています。

AMDのコア数が多いことで気に入っていることの1つは、コアをVM専用にすることができるということです。つまり、スパイクによってアプリケーションが相互に干渉する可能性が低くなります。ピークパフォーマンスよりも重要です。

私が念頭に置いている他の考慮事項は次のとおりです。

  • 消費電力は異なる場合があります(この場合は問題ではありません)。
  • CRC32(SSE 4.2)などのCPU命令はサポートされません(編集:MySQL 5.6はSSE4.2をサポートしているようです。Apacheについてはわかりません)
  • MySQLは、〜16 /〜32コア以降は完全にスケーリングしません(このトレードオフを受け入れます。)

他にどのような考慮事項が欠けていますか?

(モデレーターへの注意:私はこのスレッドを知っています -私は質問が少し異なると考えます。)


編集:タスクが並外れて並列(ウェブサーバー)であり、データベースサーバーがそれほど並列でないことは気にしないと仮定します。


これは面白いかもしれません:it20.info/2007/10/intel-amd-vmware-and-aircrafts
ToastMan

アプリケーションが読み取り/書き込みクエリを異なるサーバープールに分割できる場合、スレーブ読み取りから2番目のインスタンスを実行することで、MySQLのパフォーマンスの問題を回避できる場合があります。あなたのアーキテクチャやワークロードについては、これが実行可能なアイデアであるかどうか、またはこれが大量の不必要なオーバーヘッドと複雑さを追加するだけかどうかを知るのに十分ではありませんが、考慮するオプションです。
jgoldschrafe

私は、読み取り/書き込み分割の仕組みに精通しています。この場合、パフォーマンスの向上には適していません。
モーガントッカー

回答:


10

ブルドーザーと呼ばれる最新のAMDプロセッサ製品に関しては、多くの報道がありました。この部分の「サーバー」バージョンはまだリリースされていませんが、デスクトップ製品は、新しいものの潜在的な問題のいくつかに対する素晴らしい見方です。

サーバー部分の現在の世代に関しては、すべての推奨事項はすべて、一般的なレベルでかなり優れています。Webサービスと(ほとんどの)データベースの作業は主に整数ベースであり、AMD CPUは整数計算でうまく機能します。さらに、Webサービスは(一般的に)高度に並列化できる問題です。AMDは、「多くのコアが作業を高速化する」ことに特に焦点を当てており、LAMP(再び、一般的に)はそれによく反応する傾向があります。

本当に注意を払う必要のある分野の1つは、アプリケーションの単一スレッドの依存関係です。AMDの部品はIntelの部品ほど時計回りに拡張できないため、基本的にシングルスレッドのプロセスは、より高速なCPU部品よりもシステム全体のボトルネックになる可能性があります。これがあなたに当てはまるかどうかはあなただけが知っています。特定のデータベース操作は、コアカウントの少ない高速なIntelプロセッサからより適切に処理される可能性があります。

ここでもアプリケーションコードが重要です。長時間実行されるWebサーバープロセスの中には、シングルスレッド時間を大量に消費するものがあり、より高速なクロックが必要な場合もあります。それは、その長時間実行プロセスの必要性を書き直すことで解決できるかもしれませんが、それまではより速いクロックがいいでしょう。

しかし、一般的に、lots-o-webserver-vmスタイルのワークロードの場合、これらの12コアの部分はかなり大胆に拡張できます。何らかのシングルスレッドの問題に遭遇した場合、より高いクロックの8コアパーツを使用することは、許容できる妥協案です。


残念ながら、AMDシステムはブルドーザーではありません。AMD Opteron 6140(または同様の)です。
モーガントッカー

@MorganTocker偶然にも、私はそのクラスのCPUに精通しており、それが私の投稿を書いたものです。ブルドーザーには、私が入らなかったいくつかの特定の問題があります。
sysadmin1138

4

ほとんどの場合、両方のプロセッサは非常に類似しています。AMDプロセッサーは、4番目のチャネルのために、RAM速度にわずかな優位性があります(通常)。Intelプロセッサは一般にCPIが低くなっています(HTの場合は、ワークロードに大きく依存しますが、HTの場合はさらに大きくなります)。AMDは一般的に安価です。

これらの要因のほとんどは、ワークロードに応じて、どちらかに優位をもたらします。どちらも他のものよりも大幅に悪化することはありません(健全な構成とほぼ等しいCapExを想定)。


2

異なるRAMアーキテクチャがもたらすパフォーマンスの違い、およびそれが組織の決定要因であるかどうかを考慮する必要があります。

また、ちょっとした注意点として、ピークパフォーマンスは気にしないかもしれませんが、VMが複数のコアを持たない場合、および/または特定のタスクがシングルスレッドである場合、インテルではパフォーマンスが大幅に向上します総コア数が少なくても、AMDよりもコア。


私たちのアプリケーションは適切にマルチスレッドであると仮定します(ウェブサーバーはそうです; MySQLが完全にそうであるというわけではありません)。
モーガントッカー

2

主な違いはアプローチにあります。ミッドレンジでは、AMDは、Intelの部品と同程度のコストがかかる部品のコアにわずかに重点を置いています。Intelパーツでは、より高いクロック数のコアが少なくなります。

そのため、仮想化されたWebアプリのワークロードには、おそらくAMDシステムを好むでしょう。

大きな価格差がない限り、私はドルを心配しません。IOサブシステムをもっと調べます。また、40台のサーバーのTCOは、ほとんどの場合、サーバー自体ではなく、サポート、ソフトウェアライセンス(存在する場合)、および人員配置です。

最低でも、どちらか一方から40台のサーバーにコミットする前に、自分自身で支援し、両方のベンダーを持ち込み、ハードウェアでシステムを実行する必要があります。特定のワークロードに対して適切に質問に答えることができるのはあなただけです。


ご回答ありがとうございます!ワークロードは1つではなく、複数あります。そのため、ベンダーを取り込むには、完全に移行してから、再度移行して両方を試す必要があります。それが最適であり、私たちのケースでは実用的ではないことを理解しています。より少ない数の役割を選択して移動および投影することができますが、そのためには、何を測定/監視する必要があるかを知る必要があります。したがって、私の質問;)
モーガントッカー

ワークロードとは、異なることを実行する(おそらく)多数の異なるサーバーで構成される1つのOVERALLワークロードがあることを意味します。現在、キーサーバーのサブセットを、購入しようとしているサーバーにロードできる仮想イメージに非常に簡単に変換できるはずです(これを支援できるソフトウェアを使用)。無視できるタスクではありませんが、CPUだけでなくIOサブシステムなどすべてが確実に機能することを確認する唯一の方法です。それ以外の場合は、誰もが手放して推測します。:)
alphadogg

1

そこから捨てるもう1つのことは、IntelからAMDへのゲストの移行が実際の問題になる可能性のあるタイプの仮想化を使用する場合、ブランド全体のクラスタリングはまったくカードにないことに注意してください。各クラスターごとに1つのプラットフォームに固執し、あるプラットフォームから別のプラットフォームにジャンプするのが難しいことを受け入れます。


KVMを使用したアーキテクチャ間のライブマイグレーションは、64ビットではほとんど問題ではないようです:linux-kvm.org/page/…–
Ophidian

ユーザーは「レガシーLAMP」と言いました。32ビットのゲストがいるような匂いがします。それでも、KVMが問題を克服していることを知ってうれしいです!注意していただきありがとうございます。
マーク

はい、一部のゲストは32ビットですが、移動してすべて64ビットになる予定です。
モーガントッカー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.