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

新しいデータベースサーバーにはどのくらいのRAMが必要ですか?

    非常に頻繁に発生する質問の1つは、SQL Server 2012を実行しているデータベースサーバーに必要な物理RAMの量を決定する方法です。これを決定するために必要な最初の情報の1つは、実行するSQLServerのバージョンとエディションです。新しいサーバーで。

    表1に示すように、64ビットSQL Serverのバージョンやエディションが異なれば、さまざまな目的で使用できる物理RAMの量に関するライセンス制限も異なります。

    バージョン エディション エンジン制限 SSAS制限
    SQL Server 2008 標準

    OS制限

    OS制限
    エンタープライズ

    OS制限

    OS制限
    SQL Server 2008 R2 標準

    64GB

    64GB
    エンタープライズ

    2 TB

    2 TB
    データセンター

    OS制限

    OS制限
    SQL Server 2012 標準

    64GB

    64GB
    ビジネスインテリジェンス

    64GB

    OS制限
    エンタープライズ

    OS制限

    OS制限

    表1:バージョンおよびエディションごとのSQLServerRAMの制限

    表1からわかるように、SQL Server 2008は、StandardEditionとEnterpriseEditionの両方で物理RAMのオペレーティングシステムの制限まで使用できます。 MicrosoftがSQLServer2008 R2をリリースしたとき、彼らは(私の意見では)StandardEditionとEnterpriseEditionの両方に物理RAMの下限を導入するという悪い考えを持っていました。また、SQL Server2008R2の新しいDataCenterEditionを導入しました。これには、物理​​RAMのライセンス制限として古い使い慣れたオペレーティングシステムの制限がありました。

    SQLServer2012のメモリ制限

    MicrosoftがSQLServer2012をリリースしたとき、彼らは賢明にData Center Edition SKUを取り除きましたが、StandardEditionと同じ人為的に低い64GBRAM制限を維持しました。これがなぜ悪い考えであるかについて詳しく書いたので、ここでそれらの議論を再び要約することはしません。サーバー自体に約$10〜$15,000のコストがかかる可能性のある新しい2ソケットサーバーで$800.00相当のDDR3ECCRAM(64GB x $ 12 / GB)を使用するように制限されるのは、少しばかげていると言えば十分です。 、さらに、ストレージコストは言うまでもなく、16のSQL Server 2012StandardEditionコアライセンスで約29000ドル。

    これまでのところ、MicrosoftがSQL Server 2014のこのRAM制限を変更する意図があるという兆候はないため、引き続き対処する必要があるかもしれません。このRAM制限の小さなプラス面の1つは、サーバーごとではなく、SQLServerインスタンスごとであるということです。つまり、少し考えて計画を立てれば、同じ物理マシンに2つまたは3つのSQL Server 2012 Standard Editionインスタンスをインストールして、マシンのメモリ、プロセッサ、およびストレージリソースをすべて活用することができます。名前付きインスタンスの余分なリソース使用量と管理オーバーヘッドに対処するため。これにより、2台または3台の別々のサーバーを使用する場合と比較して、ハードウェアとSQLServer2012のライセンスコストを大幅に節約できます。

    SQL Server 2012 Standard Editionの単一のデフォルトインスタンス(Standard Editionに限定されている場合はこれを優先します)に固執することにした場合、データベースサーバー用に64GBのRAMを取得する必要がありますか?答えは断固としてノーだと思います!

    SQL Server 2012StandardEditionのメモリ構成の例

    サーバークラスなので、DDR3ECCRAMは非常に手頃な価格です。新しい2ソケットサーバーのRAMの妥当な最小量は、96GBのRAMに近いと思います。これにより、インスタンスレベルの最大サーバーメモリ設定を65536MBに設定できます。これは、正確に64GBのRAMであり、オペレーティングシステムやデータベースサーバーで実行されている可能性のあるその他のアプリケーション用に十分な余剰RAMを残します。

    >

    主要なサーバーベンダーには、必要な量の物理メモリに対して可能な限り最高のメモリ構成を確実に取得するのに役立つドキュメントとオンラインメモリ構成ツールがあります。 CPU-Zなどのツールを使用して、システムのメモリ速度をチェックし、期待した速度で実行されていることを確認することもできます。

    たとえば、デルにはここにオンライン構成ツールがあります。このツールを使用すると、使用するプロセッサフ​​ァミリ(選択できる場合)や、実際にサーバーに搭載される物理プロセッサの数など、必要なDellサーバーモデルを選択できます。次に、サーバーに必要な物理RAMの量を入力し、必要なメモリ信頼性オプション(メモリミラーリング、ランクスペアリングなど)を選択すると、ツールは3つの異なるメモリ構成を考え出します。最大のパフォーマンスとバランスの取れた構成。これらの構成は、使用する必要のあるメモリモジュールのタイプ、数、サイズ、および選択した構成オプションを満たすために装着する必要のあるメモリチャネルとスロットを示しています。

    新しい22nmIntelXeon E5-2600 v2(Ivy Bridge-EP)プロセッサを2つ搭載したDell PowerEdge R720 2ソケットサーバーを選択し、他のメモリ信頼性オプションなしで96GBのRAMを選択した場合、3つの推奨メモリが得られます。構成オプション。最大パフォーマンスオプションは、各プロセッサにチャネル1〜4のスロット0が装着され、チャネル1〜2のスロット1が装着された12個の8GB 1866MHz 1Rx4RDIMMを提案します。これにより、1866MHzのシステムメモリ速度が得られます。これは、新しいIntel XeonE5-2600v2シリーズのプロセッサでサポートされている最大速度です。

    ちなみに、SQL Server 2012 Standard Editionを使用する場合、Dell R720に必要なプロセッサは、ベースクロック速度3.3GHzの8つの物理コアを備えたIntel XeonE5-2667v2です。コア数の多いモデルを使用すると、SQL Server 2012StandardEditionの物理コアライセンスの制限が16になります。

    バランス構成オプションは、各プロセッサにチャネル1〜4のスロット0が装着され、チャネル1〜2のスロット1が装着された12個の8GB 1600MHz 1Rx4RDIMMを提案します。これにより、1600MHzのシステムメモリ速度が得られ、最大パフォーマンスオプションよりもわずかに少ない電力を使用します。

    公称構成オプションは、24個の4GB 1333MHz 1R x8 RDIMMを提案し、すべてのチャネルのすべてのスロットが各プロセッサに実装されています。これにより、1333MHzのシステムメモリ速度が得られ、すべてのスロットに非常に小さな4GBRDIMMが搭載されます。これは、より小さな容量で低速のDIMMを使用することにより、メモリコストを節約するように設計された、最適とは言えない選択です。残念ながら、ここでは実際の金銭的な節約はほとんどありませんが、かなりの量のメモリパフォーマンスを放棄し、空のメモリスロットがないという犠牲が伴います。

    Intel XeonE5-2600およびE5-2600v2シリーズプロセッサでは、メモリチャネルごとに1つまたは2つのスロットを装着するだけで、可能な限り高いメモリ帯域幅を得ることができます。 3番目のメモリスロットにデータを入力すると、システムメモリの速度が低下します。経済的な16GBRDIMMを使用して最大システムメモリ速度で使用できるメモリの最大量は256GBで、これは16の16GB RDIMMであり、チャネル1および2のすべてのスロットに割り当てられます。256GB未満の場合、システムメモリ速度のメリットはありません。 2つのXeonE5-2600またはE5-2600v2シリーズプロセッサを搭載した2ソケットサーバーのRAM。

    与えられた量のRAMに対して可能な限り最高のシステムメモリ速度をもたらすメモリ構成を考え出す方が良いのですが、私の経験では(そして私が見たほとんどの実際のアプリケーションベンチマークでは)、実際のパフォーマンスの違い異なるシステム間のメモリ速度は、予想よりもはるかに小さく、多くの場合、5〜10%以下の範囲です。 SQL Server Enterprise Editionを使用する場合は、ストレージサブシステムからデータをプルする必要があるという犠牲を払って、可能な限り最高のメモリ速度を得るために少量のRAMを選択するのではなく、バッファプールにワークロード全体を収めるのに十分なRAMを用意したいと思います。頻繁。 「遅い」RAMでさえ、フラッシュベースのストレージを含むどのタイプのストレージサブシステムよりもレイテンシが桁違いに少なくなっています。

    ワークロードが256GBのRAMに収まらない場合は、はるかに低速のストレージサブシステムに頻繁にアクセスする必要があるという打撃を受けるのではなく、RAMを追加して、システムメモリの速度に打撃を与えます。要約すると、このタイプのサーバーのSQL Server 2012 Standard Editionのメモリスイートスポットは96GBであり、SQL Server 2012 Enterprise Editionの場合は256GBに増加すると思います(ワークロードが256GBを超えている場合を除く)。


    1. SQL Server(T-SQL)のプロファイルからデータベースメールアカウントを削除する方法

    2. ハイブリッドクラウドPostgreSQLの導入のヒント

    3. 一連の日付を生成します-入力として日付タイプを使用します

    4. Oracle GROUP_CONCAT()と同等