我们使用sails框架作为web应用程序,使用MongoDB作为数据库。
现在我们从手机上调用web应用的服务。
可以有大约200-300个并发用户调用webservice。
我观察到大约有5-6个服务被执行,rest被忽略,并出现超时异常。
我在某处读到sails-mongo的默认连接池大小为5。
我怎样才能改变它?
这是配置文件。尽管连接池大小没有改变。mongodb:{适配器:'sails-mongo',url:'mongodb://127.0.0.1:27017/mydb?poolSize=200‘},
发布于 2016-09-21 02:52:35
我在sails-mongo文档中找到了poolSize配置。
你能试试下面这样的方法吗?
someMongoDb: {
adapter: 'sails-mongo',
host: 'localhost', // defaults to `localhost` if omitted
port: 27017, // defaults to 27017 if omitted
user: 'username_here', // or omit if not relevant
password: 'password_here', // or omit if not relevant
database: 'database_name_here' // or omit if not relevant
poolSize: 10 //or omit if not relevant}
发布于 2016-09-22 18:43:56
看起来sails框架限制了并发请求。我从mongodb中删除了获取数据,只将该方法设为空,而不发送响应。我观察到它执行了4个请求,并发出了其他等待请求。如果我杀死了一个请求,它会占用其他等待的请求
Sails/node/mongodb不是问题,因为它们可以处理数千个并发请求。默认情况下,Nodejs配置为接受无限数量的https://nodejs.org/api/http.html#http_agent_maxsockets套接字。
最有可能的情况是,浏览器或http客户端限制了每个服务器的请求数量。请参阅https://stackoverflow.com/a/985704/401025或从您的http客户端手册中查找最大请求数。
https://stackoverflow.com/questions/39600875
复制相似问题