mongodb 里面的poolSize设置多少合理
发布于 6 年前 作者 papandadj 3380 次浏览 来自 问答

如题

8 回复

MySQL的话,一般一台服务器设置40个连接就差不多了,mongodb可以少一些~~建议设置在30。

设个一两百没问题,少了可能不够用的

@fhawk @zengming00 判断的理由是什么呢

@papandadj 看你怎么用呀,保证你并发够用就行了

[CNodeMD]

@dbit-xia 有没有硬性的参数, 比如cup核心数什么的

@papandadj 连接池40个,假设每个请求占用5ms,那么,40个连接池1秒可以应对200 * 40=8000mongodb操作;而一台服务器假设是8核心CPU,node.js应用使用8个进程,每个请求平均耗时20ms,那么一秒钟可以处理50 * 8=400次请求;那么8000次mongodb请求,平均分配给400个请求,每个可以分欸20个,你觉得是不是绰绰有余呢?而实际上,多数mongodb的操作,要小于5ms的。

@fhawk 分多了会有问题吗?我测试go语言的时候通过mongostat有看到过超过4000连接,既然可以有那么多,为什么不给多点呢?如果一个mongo操作超过100ms那是不是会阻塞掉后面人的?

@zengming00 分多了,如果连接的服务器不多,自然是没问题的,如果多了肯定就会把mongodb服务器拖死;换句话说,如果一台mongodb可以支持100000个连接,你只有2台服务器需要连接mongodb,你每个开50000都没问题。如果你有4台,每台开50000就有可能把mongodb服务器脱死;另外还要看连接池的机制,是一次性开50000个还是最高可以达到50000个,这个概念不一样。

回到顶部