在升级到macOS Sierra之后,Spring Data + MongoDB以某种方式极其缓慢

时间:2016-09-22 10:47:21

标签: java spring mongodb spring-data macos-sierra

升级到macOS Sierra后,Spring Data和MongoDB之间的通信速度非常慢,基本上无法使用。

具体而言,与数据库的交互集合以前需要大约100毫秒,现在需要大约10分钟。

我正在使用最新的稳定版本的驱动程序和弹簧数据:

MongoDB Java驱动程序

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongodb-driver</artifactId>
    <version>3.3.0</version>
</dependency>

Spring Data MongoDB

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>1.9.3.RELEASE</version>
</dependency>

此外,我使用Homebrew安装了MongoDB。

mongod --version

db version v3.2.9
git version: 22ec9e93b40c85fc7cae7d56e7d6a02fd811088c
OpenSSL version: OpenSSL 1.0.2h  3 May 2016
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

我不确定如何解决此问题。如果您认为我应该将其发布在其他地方,请告诉我。我会。

感谢。

更新1:在尝试在docker容器中运行mongodb而不是在macOS Sierra上运行它之后,仍然存在缓慢的问题。

更新2:结束降级至El Capitan。

2 个答案:

答案 0 :(得分:3)

可能与https://stackoverflow.com/a/39698914/1469525有关,答案是对localhost的/ etc / hosts文件的修改

答案 1 :(得分:0)

这可能是与Docker和macOS Sierra相关的性能问题,而不是Mongo。您可以尝试调试这个是安装Vagrant并在Ubuntu VM中调出您的环境,并查看类似平台上的性能特征。您还可以使用运行旧版macOS的VirtualBox或VMWare Fusion来设置VM。由于Docker在Linux上比OS X更稳定,因此Vagrant路线可能是您最好的选择,以确定问题的严重程度。