与远程数据库的mysql连接速度慢

时间:2011-09-12 23:18:42

标签: mysql apache amazon-web-services

这是我的方案:我有一个通过亚马逊AWS托管的LAMP服务器,该服务器托管在美国东部地区。该Web服务器连接到本地mysql数据库,一切运行快速,流畅。我最近在我的计算机上安装了Apache,因此我可以在本地进行开发并将其设置为连接到实时服务器上的数据库,而不是在本地设置数据库。

问题是,从本地计算机到数据库服务器的请求很慢。我测试了5个查询,从随机表中选择限制为1,10,100,1000和10000。以下是我的结果:

生产服务器本地连接:

Total time : 0.1961 seconds
Connection : 0.069 seconds
Query Limit 1 : 0.0001 seconds
Query Limit 10 : 0.0001 seconds
Query Limit 100 : 0.0003 seconds
Query Limit 1000 : 0.002 seconds
Query Limit 10000 : 0.1246 seconds

我的远程连接:

Total time : 8.2012 seconds
Connection : 0.813 seconds
Query Limit 1 : 0.2133 seconds
Query Limit 10 : 0.3243 seconds
Query Limit 100 : 0.8209 seconds
Query Limit 1000 : 1.2209 seconds
Query Limit 10000 : 4.8088 seconds

以下是我对该服务器的ping结果:

Reply from xx.xx.xx.xxx: bytes=32 time=117ms TTL=42
Reply from xx.xx.xx.xxx: bytes=32 time=120ms TTL=42
Reply from xx.xx.xx.xxx: bytes=32 time=126ms TTL=42
Reply from xx.xx.xx.xxx: bytes=32 time=116ms TTL=42

Ping statistics for xx.xx.xx.xxx:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 116ms, Maximum = 126ms, Average = 119ms

以下是表格说明:

col1    mediumint(9)    unsigned NO    PRI    NULL    auto_increment
col2    varchar(128)             YES          NULL
col3    varchar(100)             NO    MUL    NULL  
col4    mediumtext               YES   MUL    NULL  
col5    tinyint(1)               YES   MUL    0 

我知道skip_name_resolve mysql变量并将其设置为ON,但我没有看到任何改进。这只是我的comp(美国西海岸)到数据库服务器之间的延迟/数据传输问题吗?理想情况下,我想继续使用远程数据库,但是我应该只使用数据库的本地副本吗?

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但它仍然可能与某些人有关。事实证明,这只是一个数据传输/延迟问题。从本地Web服务器上的查询到远程数据库(全国各地)的延迟只是简单地加起来。我决定连接到本地数据库进行开发,一切都快得多。