Java 本地计算机和Amazon实例之间的MongoDB池行为不同
我很难理解为什么同一版本的MongoDB(3.x)在我的本地机器(MacOSX10.11)和亚马逊上的Ubuntu 12.04实例之间有不同的行为 事实上,我有一个使用MongoDB异步驱动程序的java应用程序,在我的本地机器上,每次执行请求时连接的数量都在增加,而在Amazon上,套接字在每次执行后默认释放,这使得使用的连接数量稳定 是否有任何内部MongoDB池默认参数可以解释这种行为差异Java 本地计算机和Amazon实例之间的MongoDB池行为不同,java,macos,mongodb,amazon-web-services,ubuntu-12.04,Java,Macos,Mongodb,Amazon Web Services,Ubuntu 12.04,我很难理解为什么同一版本的MongoDB(3.x)在我的本地机器(MacOSX10.11)和亚马逊上的Ubuntu 12.04实例之间有不同的行为 事实上,我有一个使用MongoDB异步驱动程序的java应用程序,在我的本地机器上,每次执行请求时连接的数量都在增加,而在Amazon上,套接字在每次执行后默认释放,这使得使用的连接数量稳定 是否有任何内部MongoDB池默认参数可以解释这种行为差异 PS:我去检查了一个不同点,我在本地机器上使用wiredtiger存储,而在Amazon上使用的是旧
PS:我去检查了一个不同点,我在本地机器上使用wiredtiger存储,而在Amazon上使用的是旧的mmapv1。可能是因为这个原因吗?以下信息可能对您有用: 大多数MongoDB驱动程序支持设置应用程序可用的最大连接数(池大小)的参数。连接池大小可以看作是驱动程序可以服务的最大并发请求数。默认池大小因驱动程序而异,例如,对于节点,它是5,而对于Python,它是100。如果您预期您的应用程序会收到许多并发或长时间运行的请求,我们建议您增加池大小-相应地进行调整强>
来源:mongodb池在我的本地计算机和Amazon上的配置相同:最小池大小为0,最大池大小为100。因此,我可以理解本地机器上的行为,驱动程序在100之前创建了很多连接,但是为什么在Amazon上,使用相同的测试,这些连接的数量是稳定的?