CNode

mongodb 里面的poolSize设置多少合理

问答
Ppapandadj发布于8 年前最后回复8 年前8 回复4391 浏览0 收藏

如题

查看回复

回复 (8)

P
papandadj#1·8 年前

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

D
dbit-xia#2·8 年前
引用 papandadj@fhawk @zengming00 判断的理由是什么呢

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

[CNodeMD]

P
papandadj#3·8 年前
引用 dbit-xia@papandadj 看你怎么用呀,保证你并发够用就行了 [CNodeMD]

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

F
fhawk#4·8 年前
引用 papandadj@fhawk @zengming00 判断的理由是什么呢

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

Z
zengming00#5·8 年前
引用 fhawk@papandadj 连接池40个,假设每个请求占用5ms,那么,40个连接池1秒可以应对200 40=8000mongodb操作;而一台服务器假设是8核心CPU,node.js应用使用8个进...

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

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

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

F
fhawk#7·8 年前

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

Z
zengming00#8·8 年前

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

参与回复
登录后即可参与回复。登录