我们正在将web应用程序的sails框架和MongoDB用作数据库。
现在我们从手机上调用网络应用程序的服务。
可以有大约200-300个并发用户调用webservice。
我发现有大约5-6个服务被执行,休息被忽略超时异常。
我在某处读到sails-mongo的默认连接池大小为5。
如何更改?
这是配置文件。虽然连接池大小没有变化。 mongodb:{ 适配器:'sails-mongo', url:'mongodb://127.0.0.1:27017 / mydb?poolSize = 200' },
答案 0 :(得分:1)
我在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
}
答案 1 :(得分:0)
看起来sails框架限制了并发请求。一世 从mongodb中删除提取数据,只需将方法设为空 没有发送回复。我发现它执行了4个请求和 提出其他等待请求。如果我杀了一个请求就需要其他请求 等待请求
Sails / node / mongodb不是问题,因为它们可以处理数千个同时发出的请求。 Nodejs配置为默认接受无限数量的套接字https://nodejs.org/api/http.html#http_agent_maxsockets。
您的浏览器或http客户端很可能限制每台服务器的请求数。请参阅https://stackoverflow.com/a/985704/401025或查找http客户端手册中的最大请求数。