这是我的方案:我有一个通过亚马逊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(美国西海岸)到数据库服务器之间的延迟/数据传输问题吗?理想情况下,我想继续使用远程数据库,但是我应该只使用数据库的本地副本吗?
答案 0 :(得分:1)
我知道这是一个老问题,但它仍然可能与某些人有关。事实证明,这只是一个数据传输/延迟问题。从本地Web服务器上的查询到远程数据库(全国各地)的延迟只是简单地加起来。我决定连接到本地数据库进行开发,一切都快得多。