web-dev-qa-db-ja.com

SQL Serverページファイルの場所-配置する場所

Windowsページファイルのサイズについては、多くの推奨事項があります。私が探しているのは正しい配置です。

サーバー2012R2でMS SQLサーバーを実行していますVM複数の個別の仮想ディスクを使用:

  • Windowsディスク
  • sQLサーバーアプリケーションがインストールされている1つのディスク
  • sQLデータファイル用の1つのディスク(mdf/ndf)
  • トランザクションログファイル(ldf)用に1つのディスク
  • 手動バックアップおよびその他の一時的なもののための1つのディスク。

現時点では、Windowsがページファイルを制御しています。サイズは38GB(メモリは265)で、ログファイルと一緒にディスクに配置されました。私の理解では、この配置は論理的ではありません。SQLトランザクションログファイルを含むディスクは、SQLサーバーでI/Oが最も重いディスクです。それは本当にページファイルの最適な場所ですか?記憶域に関しては、ファイルを別のドライブに簡単に移動できました。

Windowsにはファイルをそこに配置する理由があるかもしれませんが、そうであれば、これは何でしょうか?それとも私は自分の考えに誤りがありますか?

5
Tobias

ページファイルのサイズを気にする前に...

正直に言うと、SQLサーバーにページングを開始させたくないことはありません。 SQL Serverは、メモリがディスクにページングされると、洋ナシ型になる傾向があります。

SQL Serverのベストプラクティスは、Max Server Memory構成は、SQL Serverが十分なメモリを持つのに十分な大きさですが、OSやサーバーで実行されている他のものが十分なメモリを持つのに十分なほど小さい数に設定します。これを設定する方法についていくつかの素晴らしいアドバイスがあります herehere

256 GBのメモリを搭載したサーバーで、-only SQL Serverがサーバー上で実行されている場合、最大サーバーメモリを235929 MBに設定して、約25 GBのヘッドルームを確保することをお勧めします。これでページングを防ぐことができます。

EXEC sys.sp_configure 'max server memory (MB)', '235929'; 
RECONFIGURE;

インターネットがそのページファイルについて言っていること...

インターネット上には、ページファイルをメモリの1.5倍のサイズにする必要があるとのアドバイスがたくさんあります。 256GBのメモリを搭載したサーバーでは、386GBのページファイルが必要になります。このページファイルは、データおよびログファイルとは別のドライブに置く必要があります(データ/ログドライブへのページングを行わないと、ページングによって発生するパフォーマンスの問題が悪化します)。 512 GBのC:\ドライブを備えたサーバーを構築している場合を除き、C:\ドライブはおそらくこれには十分な大きさではありません。また、ドライブを高速にする必要があります(そうでない場合、遅いディスクへのページングは​​、ページングによって引き起こされるパフォーマンスの問題を悪化させます)。おそらく、その1.5倍のページファイル用に専用のディスクが必要になります。

そのアドバイスは、あなたがwantページングするサーバーを想定しています。サーバーにページングさせたくない。 SQL Serverはページングを開始するとクラッシュする可能性があり、そうでない場合、パフォーマンスが低下してクロールが遅くなります。ページファイル用の超高速NVMeドライブを購入すれば、おそらくパフォーマンスは許容範囲内になります。

インターネットは間違っています。

そのページファイルについて私が言うこと...

私はそれがどんなに大きくても気にしません。 それを使うつもりはありません。かなり小さい場合があります。 C:\ドライブに置くことができます。 C:\ドライブは遅い場合があります。

  • 最大サーバーメモリを適切に設定していることを確認してください(上記を参照)
  • サーバーがより多くのメモリを必要とする場合は、サーバーにメモリを増設してください。ディスクにページングしないでください。
  • ページファイルをログドライブからC:に移動する必要があります。 If使用する場合は、データ/ログドライブから削除します。 C:\に合わせるためにsmallerにする必要がある場合は、それを試してください。
  • ページファイル用の高速ディスクにお金を費やさないでください。そのお金を別のRAMに費やしてください。

システムがクラッシュしてメモリクラッシュダンプが生成された場合、ページファイルのサイズがダンプを処理するのに十分でない可能性があります。しかし、大量のメモリを搭載したシステムでは、クラッシュダンプ用に1TBのメモリをディスクにダンプすると、高速ディスクでも長時間かかるため、通常、SQL Serverをオンラインに戻し、クラッシュダンプをキャプチャします。トラブルシューティングの一環として、問題が繰り返し発生するサーバーを再構成できます。

3
AMtwo

Windowsページファイル(Pagefile.sys)を、データベースまたはログファイルが配置されているのと同じディスクに配置しないでください。システムドライブにそのままにしておくか、新しいドライブを割り当てることができます。システムドライブストレージがSSDの場合、ページファイルをそこに残して、ページファイルの開始サイズを量RAM x 1.5。

2
Alberto Morillo