在将我的应用部署到Google Cloud后,出现了非常大的延迟,超过5秒。搜索问题后,发现MySQL数据库上的查询是问题所在,并且执行时间非常长。
以下是来自同一数据库在不同服务器上的示例。命令直接通过ssh 在sql服务器上发出:
select * from tbl1;
local - 54343 rows in set (0.14 sec)
shared hosting - 54343 rows in set (0.89 sec)
google - 54343 rows in set (26.73 sec)
select * from tbl2;
local - 132 rows in set (0.00 sec)
shared hosting - 132 rows in set (0.01 sec)
google - 132 rows in set (0.20 sec)
select * from tbl3 inner join tbl4 ON tbl4.tbl3_id = tbl3.id;
local - 746 rows in set (0.00 sec)
shared hosting - 746 rows in set (0.12 sec)
google - 746 rows in set (0.95 sec)
我正在使用D1,但也尝试了D32层级,但没有得到更好的结果。我正在使用默认设置(标志等)。你认为会引起问题的原因是什么?此外,我已经尝试过异步文件系统复制,关闭一些日志标志。