Is your Mongo DB running? If it is, you might want to go catch it.

3 minute read time.

Most people never notice how much resources Mongo DB can consume because most people simply don’t check. They treat Mongo DB just like any other Database application and install it to its own Server Machine and forget about it. How often do you really check on the server to see what Mongo DB is using and/or doing? Rarely, Not at all? You may want to check on it every now and then. It is, of course, a Database Application just like the rest.

Mongo DB tends to be a pretty stable “set it and forget it” application. We use it with our Syracuse component as a storage database for the Administration Module. Mongo DB puts out updates just as other applications do. Unfortunately, Mongo DB does not Auto Update itself or tell you that it has updates (unless you have a subscription version). If your Mongo DB install came from Sage Enterprise Management [aka. Sage EM], as most peoples do, then you have probably never updated it.  Regrettably, when you update Syracuse, which goes together with Mongo DB, it also does not update Mongo DB along with it. What this means is most people out there on Sage EM are probably using an older version of Mongo DB.

Why am I discussing all of this? I am trying to bring awareness to our community that Mongo DB can, at some point, cause resource performance problems if left unchecked for a prolong period.  I say this because I have just seen this first hand.

Someone once updated the Syracuse component so far ahead that it began to cause complications with Mongo DB. There is a point in recent Syracuse updates where the update also includes changes to Mongo DB. Some changes are only compatible with newer versions of Mongo DB. One of the recent changes added a new collection for data collecting labeled dbMessage (we will discuss later). As I mentioned before, most people do not keep tabs on Mongo DB and this updated change went unchecked for months. The person then realized one day that the mongod.exe service was using an obscene amount of CPU usage. Obscene as in 55% of total CPU availability. The person (being the IT person) did the usual testing. Trying to locate what is the cause. After a while it was determined that updating Mongo DB to a later version would correct it.

Example of the CPU utilization after updating Syracuse and before update Mongo DB

Example of what mongo service was using

How did we know? Mongo DB has a tool called mongotop.exe. Mongotop allows a user to see the top collections causing latency spikes. It is a monitoring tool to say the least. We used this mongotop.exe to monitor the latency with Mongo DB and the updates. What was uncovered was that this new collection Syracuse.dbMessage was causing latency issues. The specific latency was coming directly from Syracuse component they updated not only a couple months ago. We found this out by checking the logs of the server for when installations were done verses when the CPU utilization spikes started. They just happen to line up to the time the Syracuse Component was installed. That when we knew. After some lengthy testing, it was determined that updating Mongo DB to a later would correct this situation; and it did.

What mongotop.exe looks like:

What the Latency looked like before updating Mongo DB

What the Latency looked like after updating Mongo DB


 
In my conclusion, if you’re on a version of Sage EM that uses Syracuse and Mongo DB, I am highly recommending that users update Mongo DB to a newer version (like 3.4.16+). Compatibility is important and Mongo is more than likely overlooked in most scenarios by most people. It rarely causes complications. Some don’t even know it’s there. Do not forget the components when planning environment updates as well as Mongo DB.

Link to Mongo DB download Center for those who want to learn more

https://www.mongodb.com/download-center/community

Note: Community Editions are Free and are compatible with Sage EM

If you want to learn more about update an existing Mongo DB used with Sage EM Installer; additional information can be found on the Online Help. Search for “MongoDB installation procedure”.