After upgrading to 1.10.2 my MongoDb is 10x slower

Hope someone can help me. This is happening on macOS, when upgrading to Meteor 1.10.2 my code execution is slowing down dramatically (locally).

Probably by a factor of 0.1 (10x slower) or even more. Code that was running in seconds is taking minutes now.

I suspect it has to do with the MongoDb driver as the release notes for 1.10.1 say this:

“The version of MongoDB used by Meteor in development has been updated from 4.0.6 to 4.2.1, and the mongodb driver package has been updated from 3.2.7 to 3.5.4”

I hope @klaussner or someone else can help me out. I need to do a lot of manipulations on our 400 Mb database and it’s so painfully slow but I don’t have much time as this is the Production db and our app is currently down due to that.

Thanks in advance,

Andreas

I think I’m missing something here. How does local slowness have impact on production DB, which I assume is not on your local machine? 400MB isn’t much so there is no reason for slowness because of the data size. Still check that you have properly set indexes to support the queries your are making. Some examples of the queries you are making would also be super useful to figure out where the problem might be.

I’ve downloaded the production db to do urgent maintenance work locally. Hence the app is offline and I work on the Production db locally.

Hope it’s clearer now

Again, seems I wasn’t clear. The app runs super smooth and fast on Production and up until we upgraded to 1.10.2 (from 1.9.3) locally as well.

So the only difference between running fast locally on my computer and coming to a crawl was last nights update to Meteor version 1.10.2

There’s nothing wrong with indexes or our Atlas MongoDb performance. We get excellent support from them anyway.

It’s a Meteor problem or rather the driver upgrade I suspect.

It happened 6 months (roughly) ago as well when I was still working on my old Macbook Pro. So we reversed back then to 1.9.3 as well and all was back to running fast.

Now I run a beefy Mac Mini with no issues until I update to the latest Meteor version.

Hope this helps to understand the issue. Thanks

1 Like

You should start debugging and identify the part that is slow. If your hunch is the DB, have you checked what query is slow?

Every query is slower.

I didn’t change anything else than update Meteor which as per release notes updates the driver package and MongoDb version

But the version we can rule out as we’re using raw collections anyway since a long time (as we needed Transactions when Meteor was still on version 3.6).

1 Like

You could try cloning the npm-mongo package into a local packages folder and check other versions of the MongoDB library by editing package.js.

Note that the MongoDB library version was bumped to 3.5.5 to address this issue. It may be worth testing with more a more recent version of the library, as well as earlier versions.

See the full list here.

3 Likes

Thanks Rob, that is an excellent idea

2 Likes

Wanted to give feedback on this behavior. Turns out to be that the standard MongoDb poolsize was too small for the local test functions I ran (which can go up much higher than the 1000 IOPS limit our M10 server has).

Increasing the poolsize has helped in solving the bottleneck. Why this became only a problem when upgrading from 1.9.3 to 1.10.3 is beyond me.

4 Likes

Mongo Connection Options / Meteor settings have been introduced in 1.10.2. This change may have to do something with the change of default values. Nothing indicates in the documentation that it has, but this was certainly a recent introduction around those values.

1 Like

Thanks Peter, that makes sense finally!