データストレージに従来の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ワーキングセットのメモリを使用できないか、使用を要求していないようで、パフォーマンスに影響を与えています。現在、サーバーの負荷は非常に低くなっています。
誰かがこの問題に遭遇しましたか?このシナリオでのSQLサーバーの予想される動作は何ですか? min server memory
構成オプションの使用を検討しています。
をセットする - min server memory
SQL Serverのオプション。 SQL Serverに メモリ内のページのロック も許可しない限り、メモリ不足の状態でもページは解放されます。設定の組み合わせmin server memory
およびメモリ内のページをロックすると、問題が解決するはずです。
MongoDBを使用したことがないので、メモリ使用量を管理できるかどうかはわかりません。クイック検索では、それができないように見えます。
64ビットサーバーを実行していて、4 GBを超えるRAMがある場合、32ビットのMongoDBインスタンスを実行できます。これにより、アーキテクチャに応じてメモリが2、3、または4 GBに制限されます。 32ビットのMongoDBは存在しますか?