web-dev-qa-db-ja.com

SQL Serverの最大メモリ、ページファイル、最大次数の並列処理

3つの質問は、宇宙のDBAマスターが回答できることを望んでいます。


  1. SQL Serverの最大メモリを設定することをお勧めします。したがって、44 GBのサーバーRAM= SQL Serverがインストールされている場合、SQL Serverの最大メモリを約37GBに設定する必要があります。

しかし、SQL Analysis ServiceとSQL Reporting ServicesがSQL Serverと同じサーバーにインストールされている場合、何を設定する必要がありますか? SQL Serverの最大メモリを22GBに設定した方がよいですかRAM分析で他の22GB RAMを使用できるようにしますか?


  1. 44 GBのSQL Serverを実行しているサーバーでRAMページファイルサイズを設定するためのベストプラクティスは何ですか?Brent Ozar( http://www.brentozar.com/ archive/2014/06/sql-server-setup-checklist-free-ebook-download / )以下:

SQL Serverは、巨大なページファイルを必要としません。サーバーに他のアプリケーションをインストールする場合(お勧めしません-SQL Serverを分離する必要があります)。より大きなページファイルが必要になる場合があります。 SQL Serverがボックスで実行されている唯一の主要なサービスである場合、通常、システムドライブに2GBサイズのページファイルを作成します。

Microsoftは、管理されるページファイルシステムを1.5倍に設定する必要があると述べていますRAMこれは、Remusからのアドバイスに一致します(-> http://rusanu.com/2009/11/を参照) 22/system-pagefile-size-on-machines-with-large-ram / )。

44GBのサーバーでは、RAM SQL Analysis ServiceとSQL Reporting Servicesの横にSQL Serverがインストールされています。ページファイルにはどのサイズを設定する必要がありますか?


  1. SharePointのファームの一部であり、SharePointがデータベースを格納するSharePointのSQL Serverの場合、並列処理の最大度合いを1に設定する必要があります。これで、SharePointファームの一部ではないサーバー(sql2と呼びます)が作成されます。 SQL Server、SQL Analysis、およびReportingがインストールされているサーバー。 SharePointのデータベースはこのサーバーに保存されませんが、SharePointが読み取りおよび書き込みを行うレポートおよび分析データベース/キューブが作成されています。

ブレントオザールさんのコメント:

経験則:これを、ハードウェア上の単一のNUMAノード(プロセッサ)ソケット内の物理コアの数以下に設定します

このVSQLが4つの場合、最大の並列処理を実現するには、このSQL Serverインスタンスで何を構成する必要がありますか?


皆さんが私だけでなく、より多くのSQL管理者に、インターウェブ上のジャングルよりもベストプラクティスについての洞察をもっと与えてくれることを願っています。

15
sp_eric_blitz

あなたの3つの質問はmax memorypage fileおよびmax dop setting

最大メモリ


サーバーが専用のSQL Serverであり、分析サービスを含まない場合(SSASは別の獣であるため)、 Glennの推奨されるベストプラクティスが出発点として適切です 。追加のコンポーネントについては、 最大メモリの構成方法に関するJonathanのブログ を参照してください。

SQL Serverの最大および最小メモリ構成 について回答しました。これは、サーバーインスタンスに SSISパッケージの実行中 がある場合に役立ちます。

ページファイル


通常はC:\ドライブは、十分なディスク容量があるドライブ上にあります。 RemusとBrentの推奨に同意します。そのはず PAGE FILE FOR SQL SERVER = 1.5 * RAM。ページファイルは、トラブルシューティングのためにフルメモリダンプ(通常はMicrosoft CSSから要求される)を実行する必要がある場合に役立ちます。

64ビットバージョンのWindows KB 889654に適切なページファイルサイズを完全に決定する方法 および ここでページファイルについてBuck Woodyが語ります を参照してください。

MAX DOP設定


SharePointの場合、その推奨はmaxdop = 1インスタンス全体に設定します。通常のSQLサーバーの場合、以下に従うことをお勧めします- SQLサーバーでMAXDOPを計算するための優れた繰り返し可能な方法は何ですか? 計算するスクリプトが記述されています。

要点は下にあります( KB 2806535 も同じことを述べています):

8 or less processors    ===> 0 to N (where N= no. of processors)
More than 8 processors  ===> 8
NUMA configured         ===> MAXDOP should not exceed no of CPU’s assigned to each 
                                 NUMA node with max value capped to 8
Hyper threading Enabled ===> Should not exceed the number of physical processors.

副次的な注意事項として、次をお読みになることをお勧めします- 高パフォーマンスのワークロードを使用するSQL Server 2012およびSQL Server 2014の推奨される更新と構成オプション

12
Kin Shah

44GBのサーバーでは、RAM SQL Analysis ServiceとSQL Reporting Servicesの横にSQL Serverがインストールされています。ページファイルにはどのサイズを設定する必要がありますか?

キンがすでに述べたことに加えて、Perfmon Countersページファイルのサイズを計算します。 ページファイルのRemus推奨は、RAM on systemの1.5倍である必要があることにも同意します。ただし、この推奨は、考えられるすべての側面とシナリオを考慮し、 「一般的な推奨事項」より具体的な価値に関心があると思います。

個々のシステムのページファイルのニーズは、サーバーの役割や負荷などによって異なります。システム全体またはページファイルごとにコミットされたプライベートメモリの使用状況を監視するために使用できるパフォーマンスカウンターがいくつかあります。プロセスのプライベートコミットメモリがどれだけ常駐しているか、およびページングファイルにどれだけページアウトされているかを判断する方法はありません。

Memory:Committed Bytes:コミットされた仮想メモリのバイト数。これは必ずしもページファイルの使用状況を表すものではありません-プロセスが完全に非常駐にされた場合に使用されるページファイルの容量を表します

メモリ:コミット制限:ページングファイルを拡張せずにコミットできる仮想メモリのバイト数。

ページングファイル:%使用率コミットされたページングファイルの割合

ページングファイル:使用率のピークコミットされたページングファイルの最大パーセンテージ

上記のカウンタを使用して、ページファイルに適切な値を設定してください。 このリンク を読んで、ページファイルに関する詳細情報を取得できます。

SQL Serverの最大メモリを22GBに設定した方がよいですかRAM分析で他の22GB RAMを使用できるようにしますか?

いいえ、私は思いませんので、ここでOS要件を逃しました。まず、SQL Serverに最適な最大サーバーメモリを設定する必要があります。この SEスレッド には、正しい最大サーバーメモリ値の設定に関する詳細があります。繰り返しますが、私は頻繁に、常にパフォーマンスカウンターに返信して、whayが最適な値になることを確認します。 この記事 を読んで、カウンターからSSASの最適値を設定することをお勧めします。私はかつてこのブログを使用してSSASのメモリ値を設定しました。私はSSASにあまり興味がないので、私のコメントはこの記事のみに限定されます。

SharepointインスタンスのMAXDOP = 1は、広く受け入れられているパラメータのままにする必要があります。 IIRCの場合、推奨が広く受け入れられた後 頻繁なデッドロックが発生しました 最大並列度がデフォルト値のままにされたとき

3
Shanky

ページファイルサイズに関してこれまでに与えられた他のすべての回答は、比較的古い記事を参照しています。この Technetブログ の投稿は最新(2015年10月)であり、最新のシステムで理想的なページファイルサイズを計算するより詳細な方法を提供します。

彼らは、1.5 xの古い経験則x RAMはもはや適用されないことを明確に述べています。

リンクの腐敗を避けるために、以下の記事のコアコンテンツを貼り付けました。

ピーク時に少なくとも1週間稼働しているサーバーからメトリックを収集することを推奨していることに注意してください。プロジェクトの計画および実装段階では、それを行う立場にない場合があり、プロジェクトで後で時間をかける必要があります。そうするには。


ページファイルのサイズを決定するときは、アプリケーションのメモリニーズとクラッシュダンプ設定を考慮する必要があります。

アプリケーションに必要なメモリ量をどのようにして知るのですか?最良の方法は、ベースラインを取ることです。

Run Performance Monitor (Perfmon)
Go to Data Collector Sets\User Defined
Right click on User Defined and select New
Select Create Manually and next
Check Performance counter
Add the following counters:

        Memory\Committed Bytes - Committed Bytes is the amount of committed virtual memory, in bytes.
        Memory\Committed Limit - Amount of virtual memory that can be committed without having to extend the paging file
        Memory\% Committed Bytes In Use - Ratio of Memory\Committed Bytes to the Memory\Commit Limit 

注:情報を長期間(少なくとも1週間)収集し、サーバーがピーク使用時に稼働していることを確認してください。

ページファイルサイズの式は次のようになります。

(コミットされたバイトの最大値+ワークロードのバーストに対応するための追加の20%バッファー)-RAMサイズ

例:サーバーに24 GBがある場合RAMおよびCommitted Bytesの最大値が26 GBの場合、推奨されるページファイルは(26 * 1.2)-24)= 7.2 GBです。

2番目の要因についてはどうですか?システムがクラッシュしたときに情報を記録するために必要なサイズは?

メモリダンプのサイズは、そのタイプによって決まります。

Complete Memory Dump  RAM Size + 257 MB
Kernel Memory Dump  The amount of kernel-mode memory in use (on 32-bit maximum is 2 GB, on 64-bit the maximum can go up until 8 TB)
Small Memory Dump  64KB – 512 KB

ほとんどの場合、カーネルメモリダンプは根本原因の分析に十分です。たとえば、ユーザーモードで何が起こったかを確認したい場合など、完全なメモリダンプが必要なのは特定の場合のみです。

私の経験から、カーネルメモリダンプのサイズは通常次のとおりです。

On System with up to 256GB RAM =  8-12 GB size for Kernel Memory dump
On System with up to 1.5TB RAM = 8-32 GB size for Kernel Memory dump

ただし、これらの数値はMicrosoftの公式推奨ではなく、サーバーによって異なる場合があるため、適用する前に必ずテストしてください。

3
Mike

私はあなたが引用している人々の一人なので、答えるね。

1。 Analysis Servicesも実行する場合、最大メモリを何に設定すればよいですか

SSASはSQL Serverにインストールされる他のアプリと同じであるため、そこにガイダンスはありません。使用するメモリの量がわからないだけです。 SSAS/SSIS/SSRSをサードパーティのアプリケーションとして扱います-それらはたまたまSQL Serverボックスに「無料」として含まれています。 CPU、メモリ、ストレージのニーズはまったく異なります。

2。ページファイルのサイズは何に設定すればよいですか

私の推奨事項は、Windowsがミニダンプを実行できるようにすることです。 Microsoftサポートに連絡する必要がある問題に遭遇した場合は、ミニダンプから始めることができます。問題が再発し、ミニダンプ(またはエラーログなどの他の情報源)から問題を理解できない場合、1.5x RAM =サイズ。

Microsoftの1.5x RAMの推奨事項は、システムがクラッシュしたときにWindowsがメモリの完全なダンプを実行できるようにするためです。

最近では、サーバーに64〜128〜256 GBのRAMが搭載されているため、クラッシュ時にWindowsを一時停止してメモリの内容全体を書き出すことは通常お勧めできません。 SQL Serverをバックアップして実行し、完全ではなくミニダンプの内容を処理する必要があります。後でダンプするために完全なダンプを保存します。通常、Microsoftに64 GB以上のダンプファイルをアップロードする必要なく、キャリア全体を進めることができます。 (その上で頑張ってください。)

3。 SharePointのMAXDOPを何に設定しますか?

「私の」推奨とは Microsoft KB 2806535 からのものです。一般的にそこから始めますが、特定のアプリケーションが何か違うことを言ったとき、彼らはアプリケーションについてSQL Serverとは一般的に異なる何かを知っています-それに従ってください。

2
Brent Ozar