【问题标题】:Strange delay with RDS over MySQLRDS over MySQL 的奇怪延迟
【发布时间】:2014-07-31 08:12:51
【问题描述】:

我需要一些帮助或指导,以便在哪里寻找与我们在 RDS 上的 mysql 相关的奇怪问题。

我们有两个环境,一个在 EC2 上,本地安装了 Mysql,一个 RDS mysql 实例。两者都有相似的硬件和相同的数据。

在这两种情况下,我们都运行相同的存储过程,都从第三个来源(EC2 实例)运行

在 EC2 实例上 启用分析后,查询在 0.33 秒内运行 查询正常,0 行受影响(0.33 秒)

显示个人资料;

0.00012025 调用 crmDisplayDonorProfile(3139, 21)
0.000048 如果存在 tblProfile
,则删除临时表 0.022021 如果不存在则创建临时表 donCodes (cd char(1))
0.0000755 从 donCodes 中删除
0.000111 插入 donCodes (cd) 值 (substring(strParse,1, 1) ) 0.0041805 删除临时表 donCodes
0.02201925 如果不存在则创建临时表 donCodes (cd varchar(2)) 0.00007275 从 donCodes 中删除
0.0040465 删除临时表 donCodes
0.02208925 如果不存在则创建临时表 donCodes (cd char(1))
0.0001155 从 donCodes 中删除
0.00015625 插入到 donCodes (cd) 值 (substring(strParse,1, 1) ) 0.00342425 删除临时表 donCodes
0.02178325 如果不存在则创建临时表 donCodes (cd varchar(2)) 0.0001055 从 donCodes 中删除
0.00390075 删除临时表 donCodes
0.00042475 从 tblProfile 中选择 *

0.00571425 删除临时表 tblProfile

在 RDS 实例上

查询正常,0 行受影响(1.84 秒)

0.00010275 调用 crmDisplayDonorProfile(3139, 36)
0.00006275 删除临时表(如果存在 tblProfile
0.02370575 如果不存在则创建临时表 donCodes (cd char(1))
0.00007175 从 donCodes 中删除
0.00010025 插入到 donCodes (cd) 值 (substring(strParse,1, 1) ) 0.0038815 删除临时表 donCodes
0.0226735 如果不存在则创建临时表 donCodes (cd varchar(2)) 0.00006475 从 donCodes 中删除
0.00182825 删除临时表 donCodes
0.0253065 如果不存在则创建临时表 donCodes (cd char(1))
0.0001185 从 donCodes 中删除
0.00015075 插入到 donCodes (cd) 值 (substring(strParse,1, 1) ) 0.00297025 删除临时表 donCodes
0.0191115 如果不存在则创建临时表 donCodes (cd varchar(2)) 0.00009825 从 donCodes 中删除
0.00280375 删除临时表 donCodes
0.0002995 从 tblProfile 中选择 *

0.00460175 删除临时表 tblProfile

当我从分析中添加查询时,它们基本上是相同的。

所以问题是额外的延迟来自哪里?

任何想法或方向将不胜感激。

【问题讨论】:

  • 您能否从 RDS Web 控制台获取更多详细信息,例如读/写延迟、读/写 IOPS、高峰时段的队列深度?

标签: mysql amazon-web-services amazon-ec2 rds


【解决方案1】:

我建议您进一步研究您对“类似硬件”的概念。

鉴于本地 EC2 实例的延迟为零,但是 RDS 可能会有更多的延迟;然而,延迟效应不会导致查询性能变慢。

您能否在本地 EC2 MySQL 与 RDS 中重新比较这些因素

  1. 数据大小(卷及其架构)
  2. MySQL 版本
  3. EC2 实例与 RDS 中的 IOPS
  4. RDS 卷大小(更大的预置存储将改善 I/O)
  5. RDS 的多可用区设置(需要更多额外开销)

正如所说,比较基于 EC2 的本地运行 MySQL 和基于 RDS 的 MySQL not 直接将 Apple 与 Apple 进行比较。这更像是比较青苹果和普通(红)苹果,两者都是苹果,但它们是完全不同的水果。

【讨论】:

  • 感谢 Naveen,我只想指出查询是从另一台计算机运行的,而不是在安装 mysql 的实例上运行的。他们还有一个青年会议,人们付费参加(净零收入)e 相同的版本,没有为任何一个实例设置 IOPS,我没有配置 Mutli-AZ。两种情况下的数据都是相同的,但是我会重新比较来检查。两种情况下的卷大小相同。
猜你喜欢
  • 1970-01-01
  • 2017-06-02
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-06
  • 2011-09-04
  • 2011-06-08
相关资源
最近更新 更多