gpt4 book ai didi

php - 我的 Google Cloud SQL 实例连接和/或查询速度太慢

转载 作者:可可西里 更新时间:2023-11-01 08:38:34 25 4
gpt4 key购买 nike

在我的工作中,我们的任务是查看是否可以将我们的应用程序数据库从当前服务器迁移到 Google Cloud SQL 实例。我创建了我的 GCP,配置了实例并导入了数据库。

问题是我已经从我的项目(一个 CakePHP 本地主机应用程序)连接到 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.

使用 GCloud 和来 self 的 localhost164 ms,另一个 View 花费了 3 秒以上。

我使用了 us-central1 区域,已经升级了 SSD、核心、RAM,并使用了像这样的小查询无济于事。我认为这可能与延迟有关,但我一点也不知道。

我正在从墨西哥查询,具体来说是从哈利斯科州查询。

我的实例是一个带有 13gb 内存的 2 核 db-n1-highmem-2

在我的本地主机中 SELECT @@log_bin 返回 0。

文件:

php.ini

my.cnf

SHOW GLOBAL STATUS

SHOW GLOBAL VARIABLES

SHOW FULL PROCESSLIST

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

最佳答案

Rate Per Second=RPS - 谷歌云数据库标志的建议 - my.cnf [mysdld] 部分

innodb_lru_scan_depth=100  # from 2048 to conserve 95% CPU cycles used for function
innodb_flush_neighbors=0 # from 2 with SSD storage no need to look for neighbors
innodb_buffer_pool_size=4G # from ~ 10G to support less than 1G of data, reduce mgmt cycles
innodb_old_blocks_time=20000 # from 1000 to reduce select_scan RPhr of 1,395

提供反馈,请在实现后 + 24 小时使用。

关于php - 我的 Google Cloud SQL 实例连接和/或查询速度太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56995847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com