0

我已经使用 cloudsql 服务(mySql 5.6)将近 1 年了,没有任何问题。去年 4 月 22 日,我的数据库实例存储量自动增加,之后读取性能下降。在我的数据库中记录了许多日常交易,并且有一个管理部分可以查看月度报告。虽然我在写入数据库时​​没有性能问题,但管理报告查询需要 30 多秒才能完成。以前只需要一秒钟或更短的时间。我检查了监控图,只有每秒读取的 innoDb 太高。在这件事之后,我尝试了

  1. 克隆实例,结果:没有性能提升。

  2. 我尝试创建一个新实例并转储以前实例中的所有数据,结果:没有性能改进。

我很无知。这是我的 cloudsql 概述的快照。 cloudsql监控图

========== 更新 ==========

我发现了另一个可能导致问题的原因。几天前,我不得不将表格列从文本更改为长文本。现在我看到,每当我需要加入该表时,读取时间会更长,即使我没有选择该特定列也是如此。

4

1 回答 1

1

数据集的大小(GB)是多少?放缓前的规模是多少?

什么设置innodb_buffer_pool_size。由于您只有 3.75GB 的 RAM,因此该设置不应太高。

这些问题只是为了确认以下内容:

这些报告现在需要扫描大量数据。特别是,数据量超过了缓存(buffer_pool)中的容量。

解决方案可能是为报告建立和维护一个汇总表。这将消除大量的页面读取,因为该表将被增量更新。它将使报告的运行速度提高 10 倍。

汇总表:http: //mysql.rjweb.org/doc.php/summarytables

于 2021-05-05T01:54:05.957 回答