托管时Mongodb变慢

时间:2019-09-21 19:49:28

标签: java mongodb digital-ocean

我正在使用Java SE实现桌面应用程序。我在本地使用过Mongodb,而且一切都非常快。但是,我决定在mongodb Atlas上在线部署数据库,我使用了以mongodb://开头的连接线,从这里开始,由于连接,应用程序变得非常慢。我尝试使用相同的连接字符串mongodb:// ip_adress:port将其部署在Digital ocean Drop上。它变得更快,但并没有那么快。

*本地时间:1-2秒

*在Mongo地图集上的时间:8-10秒。 (免费共享群集)

*在Digital Ocean服务器上的时间:7-8秒。

请注意::8秒钟是一个JFrame,它基于数据库中的数据进行一些计算,因此在连接联机时需要8秒钟来加载,而本地将近0时。

问题:

*在应用或数据库的实现中是否存在不良做法?这不太可能,因为它在本地非常快,而且数据库仍然具有简单的测试数据。

*这是服务器规格不正确吗?这似乎不是问题,因为除了我测试和几乎从未访问过的网站以外,服务器上没有任何繁重的任务。 (数字海洋5 $小滴)

日志

  • 登录
Sep 22, 2019 8:24:21 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster created with settings {hosts=[ip_adress:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
Sep 22, 2019 8:24:21 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster description not yet available. Waiting for 30000 ms before timing out
Sep 22, 2019 8:24:23 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:1, serverValue:84}] to ip_adress:27017
Sep 22, 2019 8:24:23 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Monitor thread successfully connected to server with description ServerDescription{address=ip_adress:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 6, 3]}, minWireVersion=0, maxWireVersion=6, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=425466400}
Sep 22, 2019 8:24:26 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:2, serverValue:85}] to ip_adress:27017
Sep 22, 2019 8:24:27 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Closed connection [connectionId{localValue:2, serverValue:85}] to ip_adress:27017 because the pool has been closed.

1 个答案:

答案 0 :(得分:0)

连接时间很正常。您应该在单独的线程上进行调用,以免阻塞用户界面。