sql >> データベース >  >> RDS >> Sqlserver

SQL Server2014/2016OLTPワークロードの実用的なプロセッサの選択

    おそらくお探しのCPUではありません。

    Windows Server 2012 R2StandardEditionで実行されているSQLServer2014EnterpriseEditionでミッションクリティカルなOLTPワークロードを実行する新しいオンプレミスのデータベースサーバーの管理承認を取得したと想像してください。この新しいサーバーは、Windows Server 2008 R2EnterpriseEditionでSQLServer2008 R2EnterpriseEditionを実行している従来のDellPowerEdgeR910サーバーに置き換わるものです。この既存のサーバーには、4つの45nm Intel Xeon X7560 Nehalem-EXプロセッサ(システムに合計32の物理コアが搭載されています)と512GBのRAMが搭載されています。これは、2010年に購入したときのプレミアムセットアップでした。

    この例では、プラットフォームのアップグレードに使用できるハードウェアとソフトウェアのライセンス予算がいくらか制限されています。ハードウェアとSQLServerのライセンスコストを最小限に抑えながら、シングルスレッドのCPUパフォーマンスがはるかに優れ(OLTPワークロードがあるため)、全体的なCPU容量が高い新しいサーバーでSQL Server 2014EnterpriseEditionに移行する必要があります。

    この情報を踏まえて、どのモデルサーバーを選択し、どの正確なプロセッサを選択するかをどのように決定しますか? I.T.に誰かを入れてくれませんか部門がこれらの決定を下しますか、それとも評価と意思決定のプロセスに関与しますか? 「Shontheserverguy」に決めさせるのではなく、TPC-Eベンチマークスコア、簡単な算術、常識を使って、これを理解するための簡単で実用的な方法を紹介したいと思います。

    最初のステップは、TPC-Eベンチマーク結果スコアをオンラインでチェックして、既存のシステムに最も近い同等のシステムを探すことです。運が良ければ、システムに完全に一致する公式のベンチマーク提出が見つかります。私たちの場合、2010年4月10日から、レガシーシステムと完全に一致する提出物を見つけました。このDellPowerEdgeR910システムの実際のTPC-Eスループットスコアは1,933.96で、4つのIntel XeonX75608コアプロセッサを搭載しています。実際のTPC-Eスループットスコアは、システムの全体的なCPU容量の適切な測定値であり、処理できる同時クエリの数を大まかに示します(ストレージまたはメモリ関連のボトルネックがない場合)。

    2番目のステップは、このシステムの実際のTPC-Eスループットスコアを取得し、それをシステム内の物理プロセッサコアの数で割って、ベンチマークシステム内の特定のプロセッサのシングルスレッドプロセッサのパフォーマンスを把握することです。 。このシステムでは、1,933.96を32の物理コアで割ると、60.44の「コアあたりのスコア」が得られます。 Intel Xeon X7560の基本クロック速度は2.26GHzで、ターボクロック速度は2.66GHzです。 24MBの共有L3キャッシュと、6.4 GT / sIntelQPI速度を備えています。クイックパスインターコネクト(QPI)は、CPUと統合メモリコントローラー間のポイントツーポイントインターコネクトであるため、QPI速度が高いほど、メモリアクセスが高速になります。

    3番目のステップは、現在の世代のシステムとプロセッサーのTPC-Eベンチマーク結果を探し、検討している新しいシステムのタイプとほぼ同等のシステムの結果を見つけようとすることです。残念ながら、サーバーベンダーは以前ほど多くの新しいシステムを提出しておらず、特定のプロセッサ世代とファミリで最もコア数の多い「フラッグシップ」プロセッサを使用するシステムを常に提出しているため、これは難しい場合があります。これにより、実際のTPC-Eスループットスコアが高くなりますが、コア数が多いため、そのプロセッサを使用するシステムのSQLServerのライセンス取得にかかる費用もはるかに高くなります。これらの「フラッグシップ」プロセッサモデルのもう1つの問題は、通常、物理コア数が多いほどベースクロック速度が低くなるため、ライセンスコストが大幅に高くなり、実際にはシングルスレッドCPUのパフォーマンスが低下することです。

    従来の知識では、既存の4ソケットサーバーを新しい4ソケットサーバーに置き換える必要があります。最新の2ソケットサーバーでは、ワークロードの規模によっては、これはもう必要ない場合があります。 2012年初頭から2014年初頭にかけて、新しい2ソケットのXeon E5ファミリサーバープロセッサは、新しい4ソケットのXeonE7ファミリサーバープロセッサよりもシングルスレッドのパフォーマンスがはるかに高速でした。このパフォーマンスのギャップは、Xeon E7 v2 Ivy Bridge-EXファミリが2014年の初めにリリースされたときにかなり埋められました。それ以来、E5ファミリとE7ファミリは、どちらもHaswellマイクロアーキテクチャを使用しているため、さらに緊密になっています。

    このほぼCPUパフォーマンスの同等性を考えると、サーバーモデルの選択は、全体的なメモリ、CPU、およびIO容量に帰着します。現在の2ソケットサーバーは、32GBDIMMを備えた768GBのRAMに実質的に制限されていますが、現在の4ソケットサーバーは、32GBDIMMを備えた3TBのRAMを搭載できます。私が遭遇したほとんどの顧客は、768GBのRAMでワークロードを快適に実行できますが、実際にはそれ以上のものが必要な顧客もいます。 2ソケットサーバーと4ソケットサーバーの両方で、それぞれ18個の物理コアを備えたHaswellプロセッサを使用できるため、ソケット数に応じて、システム内の物理コアの制限は36または72になります。

    この演習では、2ソケットのFujitsu Primergy RX2540 M1システムのTPC-Eベンチマーク結果があり、実際のTPC-Eスループットスコアは3,772.08で、2つのIntel Xeon E5-2699v318コアHaswell-EPプロセッサと512GBの羊。 Xeon E5-2699 v3プロセッサの基本クロック速度は2.3GHzで、ターボクロック速度は3.6GHzです。 45MBの共有L3キャッシュと、9.6 GT / sIntelQPI速度を備えています。このシステムでは、実際の3,772.08スコアを36の物理コアで割って、104.78の「コアあたりのスコア」を算出します。

    この新しい2ソケットシステムは、レガシーシステムの全体的なCPU容量のほぼ2倍になり、シングルスレッドのパフォーマンスは約1.57倍になります。 CPU容量とシングルスレッドのパフォーマンスの観点から、この新しい2ソケットシステムがレガシーシステムの優れた代替品になると確信しています。この新しいシステムにはPCIe3.0拡張スロットもあるため、古いシステムよりも総IO容量が大きくなります。残念ながら、SQL Server 2014 Enterprise Editionライセンスを必要とする36の物理コアがあり、かなり高価になります。

    より適切なプロセッサの選択肢は、Intel Xeon E5-2667 v3です。これは、8つの物理コアを備え、基本クロック速度は3.2GHz、ターボクロック速度は3.6GHz、20MBの共有L3キャッシュ、および9.6 GT / s Intel QPI速度。いくつかの簡単な計算を使用して、XeonE5-2699v3とXeonE5-2667v3の違いを調整できます(どちらも同じプロセッサ世代およびファミリのものであるため)。

    まず、物理的なコア数の違いを調整します。 8を18で割ると、結果は0.44になるため、3,772.08に0.44を掛けると、1,676.48の結果が得られます。次に、これら2つのプロセッサ間のベースクロック速度の違いを調整する必要があります。 E5-2667v3の基本クロック速度はE5-2699v3プロセッサより39%速いため、1,676.48に1.39を掛けて、最終的な推定値を取得します。 TPC-Eスコアは2330.31です。この推定スコアを16の物理コアで割ると、「コアあたりのスコア」の結果は145.64になります。

    したがって、この計算によれば、従来のシステムよりも全体的なCPU容量が多く、新しい2ソケットでコア数が少ない「周波数最適化」Xeon E5-2667 v3プロセッサを使用すると、シングルスレッドCPUのパフォーマンスが大幅に向上します。システム。このプロセッサの選択による最後のボーナスは、SQL Server 2014のライセンスコストがはるかに低いことです。必要なのは36コアライセンスではなく16コアライセンスであり、約$136,000.00の節約になります。

    うまくいけば、ワークロードと予算の制約を考慮して、新しいデータベースサーバーに選択する必要がある正確なプロセッサを決定するのに役立つ簡単な分析を行う方法がもう少し明確になります。異なる世代やファミリのプロセッサを比較する必要がある場合、この分析は少し複雑になりますが、同じ基本原則を使用できます。このテーマについては、今後の記事で詳しく説明します。


    1. ExcelとAccess:切り替える時期はいつですか?

    2. SQLServerのインデックスの再構築と再編成

    3. SQLServerデータベースの列を含むすべてのデフォルトの制約を一覧表示する方法-SQLServer/TSQLチュートリアルパート92

    4. SQL Server(T-SQL)で既存のテーブルの圧縮を有効にする方法