亚马逊RDS MySQL实例执行速度很慢(Amazon RDS MySQL instance per

2019-08-31 07:31发布

我已经发表了我在Amazon EC2(新加坡区域)的网站,我已经使用MySQL的RDS实例的数据存储。 一切正常,除了性能非常精细。

我看来,我所有的问题,特别是SELECT语句,则执行速度很慢。 如果我检查我的本地PC在这个问题上,有它工作得很好。 但是,当我试图从RDS实例中得到的数据,这是非常缓慢的。 一些SELECT语句需要2-3秒来获取数据。

我已经适当调整了所有表的索引,并根据需要规范化/反规范化。 我做了(如max_connection, 缓冲等)对RDS的自定义参数组的所有必要的设置。 我不知道如果我失去了一些东西,但它并没有为我工作 - 性能并没有增加。

因此,有人可以帮我这个问题?

Answer 1:

值得一提的是,无论出于何种原因,MySQL查询缓存是默认关闭的RDS。 我们将硬盘的方式自己这个星期的经验教训。

这不会帮助你的初始查询的性能,但是它一般可以加快速度。

要重新启用查询缓存:

  1. 登录到控制台RDS
  2. 点击您的RDS实例,以查看它的详细信息
  3. 编辑数据库参数组
  4. 一定要同时设置query_cache_sizequery_cache_type

(免责声明:我不是一个DBA所以可能会有其他的事情,我在这里失踪)



Answer 2:

有你的RDS和EC2实例不在同一区域,但在同一个可用性区域,以尽量减少等待时间是很重要的。

我曾在爱尔兰托管在EC2的API和移动数据库在美国弗吉尼亚州一个MySQL集群,我们已经建立了另一个项目,并在每一个SQL查询的往返作出的API无法使用。



Answer 3:

对我来说,这是没有任何关系与MySQL,而是实例类型我是t2.medium 。 问题是我跑出CPU学分的,因为在DB的负荷过高,平衡保持下去直到最后,我得到的远远少于每小时学分,然后在需要的地方。

以下是我在RDS的CloudWatch看到在CPU信用用法:

如果你有同样的问题,这可能是时间切换到不同的实例。 下面是实例类型的列表:

https://aws.amazon.com/rds/instance-types/

希望这可以帮助。



Answer 4:

首先,我强烈建议使用一下这些查询

SHOW FULL PROCESSLIST

你可以阅读更多关于它的SHOW FULL PROCESSLIST

这将显示您的时间每个查询需要。

然后你可以使用

说明

你可以阅读更多关于它的EXPLAIN

这会告诉你,如果你需要在你的查询一些增强



Answer 5:

RDS MySQL的性能可以以下列方式假设系统已经多个读比率来增加:

  1. 使用更大的实例类型,它们都具有较好的NW带宽。 例如AWS四EXL配备了1000 Mbps的带宽。
  2. 使用PIOPS存储,你可以从MySQL数据库中提取16KB 12500个IOPS
  3. 如果大量的读取,执行,添加一个或多个读取副本的提高读取性能
  4. 应用标准的实践,如:调整查询,应用指标等


Answer 6:

您可以检查该查询通过利用分析的服用时间。 使用下面的查询:

  1. 设置分析= 1
  2. 执行你的选择查询
  3. 节目简介

这会告诉你关于查询的状态,其中查询将时间花在。 如果通过剖析返回的所有时间的总和小于查询的实际执行时间,那么也许其他因素,如网络带宽可能是它的原因。



文章来源: Amazon RDS MySQL instance performs very slow