连接到远程主机时,mysql的速度是否正常?

时间:2011-02-08 16:30:14

标签: mysql performance connect host

连接到远程主机时,mysql的速度是否正常,或者它与连接本地主机的性能是否相同?

当我尝试连接到远程主机时,我发现性能差异很小,所以我想知道这是否正常?

4 个答案:

答案 0 :(得分:5)

假设远程计算机在处理能力方面与本地计算机相同,那么速度的主要差异应该是网络延迟 - 网络流量的往返时间。如果您要发送大量数据(例如,读取或写入大型BLOB),那么网络带宽也会发挥作用并且“缓慢”下降。但总的来说,往返费用往往是最大的因素。如果您正在执行大量“小”查询,则在将本地连接与远程连接进行比较时,此成本差异可能非常大。

出于好奇,我刚刚运行了一个我已经构建的测试,它只运行了一堆更新查询。这不是使用MySQL而是使用另一个客户端/服务器DBMS。因此,结果可能会有所不同,但这个想法是相同的,我认为相对差异不会有显着差异。

Local host (using IPC comm):  5.3 seconds
Remote host (UDP comm):  20.2 seconds

这涉及约50,000次操作。远程主机在LAN上有2跳(如果我正确测量的话),对于具有1字节有效载荷的数据包,往返延迟大约为0.25 ms。

答案 1 :(得分:4)

完全取决于程序和MySQL数据库服务器之间的网络连接。慢速网络会使数据库看起来很慢。

我希望远程连接的“性能差异小”(正如您所描述的那样)是正常的。

答案 2 :(得分:1)

默认情况下,MySQL服务器将在客户端第一次连接到它时执行反向DNS查找。然后它将其存储在其缓存中。这可能会影响性能,具体取决于反向DNS解析的速度。

答案 3 :(得分:0)

这可能取决于您正在进行的MySQL查询的数量:Slow MySQL Remote Connection

您可以通过将许多小查询转换为更大的查询来优化代码。