Bulk update and insert using Meteor method call in loop making high cpu usage

164 views Asked by At

My application is on [email protected] and I am using  reywood:publish-compositematb33:collection-hooks  for db relations.

I need to insert a list of 400 people into collection from excel file, for it currently i am inserting from client using Meteor method inside loop but when i see on galaxy during this CPU usage is very high 70-80% or some time 100%.

Once all data inserted, i need to send a mail and update the record so i am sending mail and update using Meteor method call one by one that again making CPU 70-80%.

How i can do above task in correct and efficient way. Please help.

Thanks.

1

There are 1 answers

0
Paul Cochrane On

I suspect that you are not using oplog tailing and you are trying to insert when some other part of your app has subscriptions to publications open. Without this meteor polls the collections and generates lots of slow queries at each document insert.

You can enable it by passing an url to meteor at startup. See https://docs.meteor.com/environment-variables.html#MONGO-OPLOG-URL for more info.

Having oplog tailing eases the strain on the server and should reduce the high cpu usage to a manageable level.

If you are still having issues then you may have to set up some tracing e.g. monti-apm https://docs.montiapm.com/introduction