【发布时间】:2019-07-11 19:08:06
【问题描述】:
在我的工作中,我们的任务是查看是否可以将我们的 App 数据库从当前服务器迁移到 Google Cloud SQL 实例。我创建了 GCP,配置了实例并导入了数据库。
问题是我已经从我的项目(一个 CakePHP localhost 应用程序)连接到 gcloud 中的数据库,并且在运行了一些查询后我注意到它们花费了很多时间并且视图的渲染非常慢的。我已经升级了实例的存储(以获得更好的读/写速度)和内核/内存,但没有结果。
以下是一些查询及其花费的时间:
Query. Time. Affected.
GCloud
SELECT * FROM clients WHERE company_id = 3711; 50ms. 3rows.
Localhost
SELECT * FROM clients WHERE company_id = 3711; 1ms. 3rows.
还有我认为的 CakePHP DebugKit 计时器响应:
GCloud - Controller Action ---- 317.55 ms.
Localhost - Controller Action ---- 7.44 ms.
使用我的localhost 中的GCloud 和164 ms 进行另一个视图耗时3 秒以上。
我使用了us-central1 区域,已经升级了 SSD、内核、RAM,并使用了类似这样的小查询,但无济于事。我认为这可能与延迟有关,但我没有丝毫的想法。
我从墨西哥查询,具体是从哈利斯科州查询。
我的实例是 2 核 13gb 内存 db-n1-highmem-2
在我的本地主机 SELECT @@log_binreturns a 0.
文件:
EXPLAIN SELECT SQL_NO_CACHE * FROM clients WHERE company_id = 3711;
1 SIMPLE clients NULL ref find_by_id,clients_modified,company_id_3,clients_by_creator,clients_by_owner find_by_id 4 const 3 100.00 Using where
SHOW INDEX FROM clients;
Table non_unique key_name seq_in_index column_name collation cardinality sub_part packed null index_type
clients 0 PRIMARY 1 id A 685571 NULL NULL BTREE
clients 0 PRIMARY 2 user_id A 685571 NULL NULL BTREE
clients 0 PRIMARY 3 company_id A 685571 NULL NULL BTREE
clients 0 find_by_id 1 company_id A 1159 NULL NULL BTREE
clients 0 find_by_id 2 id A 685571 NULL NULL BTREE
clients 1 clients_modified 1 company_id A 1587 NULL NULL BTREE
clients 1 clients_modified 2 modified A 512088 NULL NULL YES BTREE
clients 1 company_id_3 1 company_id A 1254 NULL NULL BTREE
clients 1 company_id_3 2 prospectus A 3642 NULL NULL BTREE
clients 1 company_id_3 3 last_update A 303012 NULL NULL YES BTREE
clients 1 clients_by_creator 1 company_id A 1503 NULL NULL BTREE
clients 1 clients_by_creator 2 user_id A 3577 NULL NULL BTREE
clients 1 clients_by_owner 1 company_id A 1423 NULL NULL BTREE
clients 1 clients_by_owner 2 user_assigned_id A 3949 NULL NULL BTREE
clients 1 company_id_3 3 last_update A 303012 NULL NULL YES BTREE
clients 1 clients_by_creator 1 company_id A 1503 NULL NULL BTREE
clients 1 clients_by_creator 2 user_id A 3577 NULL NULL BTREE
clients 1 clients_by_owner 1 company_id A 1423 NULL NULL BTREE
clients 1 clients_by_owner 2 user_assigned_id A 3949 NULL NULL BTREE
【问题讨论】:
-
附加信息请求。在 pastebin.com 上发布并分享链接。 Google MODEL 或 RAM 大小和您的 Google MySQL 主机服务器上可用的内核数量 A) 完整(未编辑)my.cnf 或 my.ini 文本结果: B) 显示全球状态;至少 24 小时正常运行时间后 C) 显示全局变量; D) 显示完整的处理程序;用于服务器工作负载调整分析。
-
地理,请 - 你在哪里;它位于哪里。 49 毫秒可能意味着您在美国的东海岸或西海岸。
-
请提供 Google 型号或 RAM 大小以及您的 Google MySQL 主机服务器上可用的内核数量。我们可以看到你有 SSD 存储。谢谢
-
在您的本地主机上,从 MySQL 命令提示符下,SELECT @@log_bin 的结果是什么; ?
-
完成,如果您还需要什么,请告诉我。非常感谢
标签: php mysql performance gcloud