patternsqlMinor
Running MongoDB and SQL Server on the same host- memory pressure
Viewed 0 times
sametheserversqlpressuremongodbrunninghostmemoryand
Problem
We have a new application that is making use of both traditional MS SQL and MongoDB for data storage. We're running both instances on the same Windows 2008R2 x64 machine, with 64GB RAM.
There have been some anecdotal reports of poor performance that I've begun to investigate.
I can see that SQL Server is not consuming as much memory as I would expect, and is showing signs of memory pressure.
Eg.
In contrast, MongoDB is using a huge working set, which is expected behavior based on the documentation
It relies on Windows to manage memory use.
It seems that SQL server isn't able to, or isn't requesting use any of the memory in the Mongo working set and that is impacting performance. The server is under very low load at the moment.
Has anyone come across this issue? What it the expected behavior of SQL server in this scenario? I'm considering using the
There have been some anecdotal reports of poor performance that I've begun to investigate.
I can see that SQL Server is not consuming as much memory as I would expect, and is showing signs of memory pressure.
Eg.
AppDomain 16 (mssqlsystemresource.dbo[runtime].15) is marked for unload due to memory pressureIn contrast, MongoDB is using a huge working set, which is expected behavior based on the documentation
It relies on Windows to manage memory use.
It seems that SQL server isn't able to, or isn't requesting use any of the memory in the Mongo working set and that is impacting performance. The server is under very low load at the moment.
- Page Life Expectancy seems high at: 1536
- and Buffer cache hit ratio: 404002
- Free list stalls/sec: 695
- Free pages: 26529
Has anyone come across this issue? What it the expected behavior of SQL server in this scenario? I'm considering using the
min server memory configuration option.Solution
Set the
I've never used MongoDB, so I don't know if you can manage memory usage. A quick search makes it seem you can't.
Assuming you're running a 64-bit server, and have more than 4 GB of RAM, you could run a 32-bit MongoDB instance, which will limit the memory to 2, 3, or 4GB depending on it's architecture. Does a 32-bit MongoDB even exist?
min server memory option for SQL Server. It will still release pages under memory pressure, unless you also allow SQL Server to lock pages in memory. The combination of setting min server memory and locking pages in memory should resolve the problem.I've never used MongoDB, so I don't know if you can manage memory usage. A quick search makes it seem you can't.
Assuming you're running a 64-bit server, and have more than 4 GB of RAM, you could run a 32-bit MongoDB instance, which will limit the memory to 2, 3, or 4GB depending on it's architecture. Does a 32-bit MongoDB even exist?
Context
StackExchange Database Administrators Q#61332, answer score: 3
Revisions (0)
No revisions yet.