理想的な Microsoft SQL Server 2012 運用サーバーの構築は、ストレージ、RAM、プロセッサの選択などの変数によって、熟練の IT 管理者でも困難を伴う困難な作業となる場合があります。最後に、最適なものの選択に関する分析を投稿しました。 インテル Xeon E5-2600 v2 CPU 非仮想化環境で SQL Server 2012 を実行する場合。 Iron 上で実行される SQL のパフォーマンス ニーズを考慮する場合、CPU 以外に RAM も重要なコンポーネントです。このテストでは、Intel プロセッサの調査と同じテストベッドを使用しました。今回は、パフォーマンスへの影響を測定するために、最高パフォーマンスの CPU とストレージを搭載した Micron PC3-12800 RAM をステップ実行することに焦点を当てました。
理想的な Microsoft SQL Server 2012 運用サーバーの構築は、ストレージ、RAM、プロセッサの選択などの変数によって、熟練の IT 管理者でも困難を伴う困難な作業となる場合があります。最後に、最適なものの選択に関する分析を投稿しました。 インテル Xeon E5-2600 v2 CPU 非仮想化環境で SQL Server 2012 を実行する場合。 Iron 上で実行される SQL のパフォーマンス ニーズを考慮する場合、CPU 以外に RAM も重要なコンポーネントです。このテストでは、Intel プロセッサの調査と同じテストベッドを使用しました。今回は、パフォーマンスへの影響を測定するために、最高パフォーマンスの CPU とストレージを搭載した Micron PC3-12800 RAM をステップ実行することに焦点を当てました。
従来から言えば、SQL Server の RAM が多いほどパフォーマンスが高くなります。追加の RAM を活用すると、特定のストレージ アレイ上の I/O フットプリントが削減され、キャッシュの利点も得られます。すべてを同等に保ちながら、低遅延プロファイルを維持しながら SQL Server 専用にできる RAM の量を検討します。この記事では、SQL Server 専用の 128 GB を割り当てた場合のパフォーマンスへの影響を示します。現在、エンタープライズ レビュー用にデバイスのテストを行っており、8 GB まで割り当てています。
テストベッド
この分析では、Micron PC3-12800 DDR3 メモリを評価しています。 Supermicro スーパーストレージ サーバー 2027R-AR24NV Windows Server 2012 は、Intel CPU の E2-5 および E2600-5 v2600 ファミリをサポートする 2U デュアル ソケット ボックスです。システム RAM は XNUMX 個で構成されています 16GB Micron PC3-12800 DIMM テストごとに静的なままになります。 SQL Server が使用する RAM の量を変更するには、割り当て設定を変更し、各ステップで選択された量に制限します。 2.6TB を活用しました フュージョン ioMemory PX600 ホスト内ストレージの場合、非常に優れた SQL Server レイテンシ数値が記録されています(ラボでテストした現行製品の中で最速)。
サーバの設定
- 2 x Intel Xeon プロセッサ E5-2687W v2 – 25M キャッシュ、3.40GHz、8 コア
- Intel C602チップセット
- メモリ – 256GB (16x 16GB) 1600MHz Micron DDR3 Registered RDIMM (システム専用 128GB、SQL 専用 8 ~ 128GB)
- のWindows Serverの標準2012
- 3 x Supermicro SAS3 HBA (LSI SAS 3008 コントローラー)
- 200GB Micron P400m ブート SSD
- 1 x Mellanox ConnectX-3 デュアルポート VPI PCIe 3.0 アダプター (InfiniBand LoadGen ファブリック)
- 1 x Emulex OCe11102 デュアルポート 10GbE アダプター
ストレージ構成
- サンディスク フュージョン ioMemory PX600 2.6TB
- ハイパフォーマンスモードでの 80% オーバープロビジョニング
- 全電力消費が有効化
- VSL 4.1.1 ファームウェア/ドライバー
性能
指定された各 RAM ステッピング間隔は、同じ方法でテストされました。 SQL Server 2012 OLTP ベンチマーク データベースはシングルノード 600P Supermicro サーバー内の PX2 上にあります。同じクラスのほとんどのストレージ デバイスと同様に、XNUMX 秒あたりのトランザクションについてはあまり心配しません。実際に重要なのは、これらの各トランザクションが完了するまでの待ち時間です。
予想どおり、SQL サーバーに割り当てられた RAM の量が増えると、トランザクション パフォーマンスが向上しました。 128GB から 64GB までの間では、TPS に大きな変化は見られませんでした。実際、96GB から 64GB までの低下は、ほぼ同じ誤差の範囲内に収まりました。 16 GB から 8 GB への違いが最大の変化をもたらしました。これは、16 GB がおそらくこの特定のテストおよびサーバー構成にとって有用な最小しきい値であることを示しています。
レイテンシに焦点を当てると、Fusion ioMemory PX600 が 128 ~ 96 ミリ秒のスコアを記録した 64GB、2GB、および 3GB の結果で低レイテンシ パフォーマンスをどの程度維持しているかがわかります。 32GB への低下により遅延は約 66% 増加しましたが、次の 16GB への低下はさらに劇的でした。この変更により遅延が 200% 増加し、RAM が 153GB に減少するとさらに 8% 増加しました。
このテストの一部としてストレージへの影響は示されませんでしたが、DRAM 割り当てが段階的に増加するたびに、データベースが存在するストレージ デバイスの負荷が大幅に減少しました。つまり、メモリが増えると、ストレージにアクセスするリクエストが減り、代わりにシステム メモリ内に留まります。 128GB RAM のバックグラウンド負荷は 50~100MB/s でしたが、16GB では 800MB/s に増加しました(DRAM 構成で大きなスパイクを引き起こす可能性があるログ書き込みアクティビティ中は除きます)。記憶媒体の容量が小さい場合、これらの結果はさらに向上します。
まとめ
高性能の非仮想化 SQL Server を構築する場合、多くの考慮事項があります。最初の部分では、CPU とその SQL パフォーマンスへの影響について調べました。ここでは、最高のパフォーマンスを発揮するホスト内ストレージと CPU を使用して RAM をテストします。 Micron と提携して、SQL 専用の 8 GB ~ 128 GB の RAM で同じテストを実行しました。結果は非常に直感的で、一般に RAM が多いほどレイテンシの点で優れています。ただし、この構成では遅延が劇的なピークに達する限界点があります。 16GB では遅延が 3GB に比べて 32 倍に急増し、8GB ではその影響はさらに深刻になります。最高のパフォーマンスを実現するには、最高クロック速度の CPU と最先端の PCIe ストレージを備えた SQL 用 128 GB の RAM により、わずか 2 ミリ秒のレイテンシが生成されます。
SQL Server 5 に最適な Intel Xeon E2600-2 v2012 CPU の選択