【问题标题】:MySQL not behaving Asynchronous with Amazon RDS Instance?MySQL 与 Amazon RDS 实例不同步?
【发布时间】:2020-10-02 14:11:08
【问题描述】:

我在 MySQL RDS 部署中遇到了一个非常奇怪的问题。当调用一个可能需要 10 多秒才能完成的复杂存储过程时,对数据库的所有其他调用都会陷入困境并挂起。这包括对 SHOW FULL PROCESSLIST 的任何调用。请注意,呼叫来自外部/其他会话。例如,需要 10-20 秒的存储过程由我们的 Web 服务调用,但我执行任何查询或 SHOW FULL PROCESSLIST 的尝试来自我系统上的 IDE,因此完全不同的连接/会话。

但我的查询一直挂起,直到其他进程完成,Amazon RDS 报告 MySQL 的 CPU 使用率仅为 2.3%。

哎呀,即使在这些存储过程运行时打开与 RDS 的连接也需要很长时间,所以有些地方很不对劲 - 就好像 MySQL 没有以任何异步容量运行。

有什么想法吗?我是否缺少 RDS 中关闭异步处理的单个简单默认标志?

【问题讨论】:

  • 能否启用 RDS 性能洞察:aws.amazon.com/rds/performance-insights?它可能有助于向您展示哪些资源受到限制。
  • @mokugo-devops 不幸的是,我们使用的是 micro.t2 实例,并且该课程无法提供性能洞察。还有其他推荐吗?
  • 您使用的 micro.t2 的完整型号是什么?您是否知道 t2 不适合用于“生产”环境? aws.amazon.com/ec2/instance-types/t2
  • 您能否发布 A) 显示全局变量的文本结果,例如 '%thread%';和 B) 显示全局状态,如 '%thread%'; D) 显示全局变量,例如 '%conn%;并显示全局状态,如 '%conn%;用于分析

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


【解决方案1】:

问题在于我们在 AWS 中使用的实例类;它太小了。一旦我们将其更新为 t2.medium,问题就消失了。不同寻常的是,我们正在运行的实际上并没有对数据库进行任何密集的操作。但是,似乎 t2.micro 类实际上设计为不以任何实际容量使用。问题之一是 AWS 中的价格开始快速上涨,即使对于沙盒系统也是如此。小公司只需运行测试环境就可以快速找到超过 1,000 美元的费用。考虑到 AWS 提供的服务和性能水平,这是不合理的。

【讨论】:

  • 当您需要性能调优时,您可以查看我的个人资料、网络配置文件以获取联系信息和免费下载的实用程序脚本以帮助进行性能调优。
猜你喜欢
  • 2018-12-10
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多