如果我在我的本地主机服务器上用Java连接到MySQL,我会立即访问。
但是如果我从网络PC (192.168.1.100)连接到本地主机之外,速度会非常慢(4-5秒)。
而且,如果我从公网IP连接到我的SQL服务器,速度也非常慢(6秒或更长)。
发布于 2010-12-13 07:56:44
“为什么”已经被回答了。这只是网络延迟。
您可能还对如何“修复”它感兴趣。答案是:使用connection pool。如果您运行的是Java‘re应用程序,请使用’re服务器提供的连接池功能。要以Tomcat为例,请查看this manual。如果您正在运行Java桌面应用程序,请使用一个像样的连接池实现,比如c3p0 (教程here)。
发布于 2010-12-13 07:54:05
因为您的计算机需要时间将数据包发送到外部服务器,而它们也需要时间将数据包发回。这就是所谓的网络延迟,这不是Java特有的问题,而是一个普遍的网络问题。
发布于 2010-12-13 07:59:48
通过网络建立连接所需的时间总是比在本地建立相同连接所需的时间更长。然而,假设您有一个相当典型的本地网络,4-5秒听起来有点极端。我的猜测(这只是一种猜测)是,大部分额外的时间都被网络名称解析(即DNS和/或netbios)所消耗。
我建议您使用数字IP地址而不是名称来尝试连接。
https://stackoverflow.com/questions/4424827
复制相似问题