web-dev-qa-db-ja.com

同じホストメモリ負荷でMongoDBとSQL Serverを実行する

データストレージに従来のMS SQLとMongoDBの両方を利用する新しいアプリケーションがあります。両方のインスタンスを64GB RAMの同じWindows 2008R2 x64マシンで実行しています。

私が調査し始めた、パフォーマンスの低下に関するいくつかの事例報告がありました。

SQL Serverが予想よりも多くのメモリを消費しておらず、メモリのプレッシャーの兆候を示していることがわかります。

例えば。

AppDomain 16 (mssqlsystemresource.dbo[runtime].15) is marked for unload due to memory pressure

対照的に、MongoDBは巨大なワーキングセットを使用していますが、これは documentation に基づいて予期される動作です。

Windowsを使用してメモリの使用を管理します。

SQLサーバーは、Mongoワーキングセットのメモリを使用できないか、使用を要求していないようで、パフォーマンスに影響を与えています。現在、サーバーの負荷は非常に低くなっています。

  • ページの平均余命は1536年と高いようです
  • とバッファキャッシュヒット率:404002
  • フリーリストストール/秒:695
  • フリーページ:26529

誰かがこの問題に遭遇しましたか?このシナリオでのSQLサーバーの予想される動作は何ですか? min server memory構成オプションの使用を検討しています。

3
reticentKoala

をセットする - min server memory SQL Serverのオプション。 SQL Serverに メモリ内のページのロック も許可しない限り、メモリ不足の状態でもページは解放されます。設定の組み合わせmin server memoryおよびメモリ内のページをロックすると、問題が解決するはずです。

MongoDBを使用したことがないので、メモリ使用量を管理できるかどうかはわかりません。クイック検索では、それができないように見えます。

64ビットサーバーを実行していて、4 GBを超えるRAMがある場合、32ビットのMongoDBインスタンスを実行できます。これにより、アーキテクチャに応じてメモリが2、3、または4 GBに制限されます。 32ビットのMongoDBは存在しますか?

3
David Crowell