我正在使用Java实现桌面应用程序。我在本地使用Mongodb,每件事情都非常快。但是,我决定在mongodb地图集上在线部署数据库,我使用了它们的连接线,从mongodb://开始,由于连接,应用程序变得非常慢。我尝试将它部署到数字海洋液滴上,其连接字符串为mongodb://ip_adress:port。它变得更快了,但没有那么快。
*本地计时:1-2秒
*蒙古地图集的计时: 8-10秒。(免费层共享集群)
*数字海洋服务器的计时: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.发布于 2019-09-21 21:27:08
连接时间很正常。您应该在一个单独的线程上进行调用,这样它就不会阻塞您的ui。
https://stackoverflow.com/questions/58043602
复制相似问题