gpt4 book ai didi

mysql - 如何识别 AWS RDS 扩展条件

转载 作者:行者123 更新时间:2023-11-29 15:23:02 25 4
gpt4 key购买 nike

我有一个托管在 AWS ECS 中的应用程序,并且数据库位于 AWS RDS 中。我正在为我的应用程序使用基于微服务的容器架构。该应用程序的前端采用 Angular 语言,后端采用 Java 和 Python 语言。目前,数据库大小约为 1GB。由于每天都会插入抓取的数据,数据库的大小将日益增加。

目前,某些查询需要 4-6 秒才能执行。我们需要向公众托管此应用程序,并且有很多用户将使用该应用程序。因此,当我们对 50 个用户的应用程序进行负载测试时,我发现 RDS 的 CPU 达到 100%,并且某些查询执行时间超过 60 秒,然后超时。另外,其他微服务(前端和后端)的CPU和内存也正常。我已尝试将应用程序垂直扩展至 64GB RAM 和 4 个 vCPU,但这种情况仍然存在。

这是查询的问题还是我可以对数据库服务器配置执行任何操作?

我使用的 RDS 存储是 100GB,带有通用 SSD。所以,我猜只有 300 IOPS,对吗?我计划使用 RDS 只读副本,但在此之前,我需要知道是否需要做些什么来提高性能?有数据库配置等吗?

我对 MySQL 连接数也不太了解。目前,它总共使用 24 个连接。我还需要更改连接数吗?

最佳答案

查询优化

正如 Tim 指出的,尝试优化查询。由于要插入更多数据,请考虑对表建立索引,并在可能的情况下进行查询以使用索引列。还可以考虑归档未使用的旧数据。

连接数

如果您可以控制代码,则可以利用数据库池来控制应用程序可以使用的连接数。

CPU 使用率

CPU 使用率与查询的性能高度相关,一旦优化查询,CPU 使用率就会下降。

磁盘使用情况

使用cloudwatch指标来监控磁盘使用情况,基于此,您可以决定配置的IOPS磁盘。

希望这有帮助。

关于mysql - 如何识别 AWS RDS 扩展条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59243281/

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