我很难理解为什么相同版本的MongoDB (3.x)在我的本地计算机(MacOSX10.11)和亚马逊上的Ubuntu12.04实例之间有不同的行为。
实际上,我有一个使用MongoDB异步驱动的java应用程序,在我的本地机器上,每次我执行请求时,连接的数量都在增加,而在亚马逊上,套接字在每次执行后默认会被释放,这使得使用的连接数量稳定。
池化是否有任何内部MongoDB默认参数可以解释这种行为差异?
PS :我去检查了一下,其中一个区别是我在本地机器上使用的是wiredtiger存储,而在亚马逊上我使用的是旧的mmapv1。会不会是因为这个原因?
发布于 2016-02-26 13:17:58
以下信息可能对您有用:
大多数MongoDB驱动程序都支持设置应用程序可用的最大连接数(池大小)的参数。可以将连接池大小视为您的驱动程序可以服务的并发请求的最大数量。默认池大小因驱动程序而异,例如,Node的默认池大小为5,而Python的默认池大小为100。如果您预计您的应用程序会收到许多并发或长时间运行的请求,我们建议增加您的池大小-相应地进行调整!
来源:MongoDB Connection Pooling
https://stackoverflow.com/questions/35638517
复制相似问题