调整node-mongodb-native连接池大小

时间:2013-08-10 00:10:40

标签: node.js mongodb connection-pooling

我有一个快速应用程序通过node-mongodb-native驱动程序与mongodb交谈。我的应用中的一些请求间歇性地很慢。是否有任何好的工具或策略来确认或排除驱动程序连接池大小作为瓶颈?

这里是调整池大小的some discussion,但它是非常不确定的。 aheckmann指出,默认值5通常是充足的,而tinana通过许多并发请求来增加池的显着收益。

更新 这个问题是为了帮助我理解调优和工具驱动程序池的大小,而不是解决当前的性能问题。我描述的问题只是为了提出一个问题。

1 个答案:

答案 0 :(得分:7)

在这种情况下,第一步始终是从数据库开始。

如果您的查询响应缓慢,则这些查询应显示在慢速日志中。看看official docs for profiling。 “慢”查询的默认值大约是100毫秒,所以如果你的慢查询是因为数据库,你会看到证据。

此外,请查看数据库的图表。通过“图表”,我指的是服务器正在做什么的Nagios / Cacti / Zabbix / ServerDensity / MMS图表。如果您没有这些,请从那里开始。如果您实际上不知道有多少连接或CPU的外观,那么调整连接池大小是没用的。

  

确认或排除驱动程序连接池大小作为瓶颈的任何好工具或策略?

一旦排除了已配置监视的数据库,就可以打开连接池大小。一旦你掌握了所有这些。您将能够调整池大小并确保您(a)解决了问题并且(b)没有引起更多问题。

整个周期很重要。

如果你弄乱了连接池,但是你没有看到慢速日志和总连接,那么你只会造成更多问题。