Question

I am building a simple application using Node.js and MongoDB through the MongoJS driver. I am aiming at some heavy load (round 10000 users in 10 mins with sessions of approx 30s)

I am using connection pooling, and by default mongojs creates 5 connections which are expected to be shared. I would like to enlarge this value to increase efficiency, otherwise a bunch of requests will be waiting for a connection which is highly undesirable.

I have found this which explains how to increase the pool size if using the native driver http://technosophos.com/content/nodejs-connection-pools-and-mongodb

I know that mongojs is a wrapper for the native driver, but is there a way to set the connection pool size in mongojs? or is it something you have to do from the driver.. but if so how can you use the driver and mongojs at the same time? Can anyone point me in the right direction?

Thanks so much.

Was it helpful?

Solution

Pool size options can be specified as part of the connection string. The options are listed in the MongoDB documentation. Connection string parameters are mentioned in the MongoJS documentation but it's not particularly obvious that one would find the answer there.

var db = mongojs('mongodb://localhost/mydb?maxPoolSize=200');

A minPoolSize can also be specified, however this option is not supported by all drivers. I am pretty sure that the native js driver does not support this option. From memory the native js driver keeps a minimum pool of 5 connections.

The default maxPoolSize value is 100.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top