小编Tra*_*vis的帖子

超出 Amazon RDS MySQL 5.5 Innodb Lock 等待超时

自从我们迁移到 Amazon RDS 以来,我们遇到了一些非常疯狂的性能问题,今天我们开始遇到锁定问题。正因为如此,我认为这只是一个超时问题,并去检查我们使用的内存。我们交换了大约 70MB 的数据。我用 mysqltuner 进行了一次内存追捕,它说可能有大约 400% 的最大内存使用率。多亏了 Percona 的配置向导,我现在把它降到了 100% 以上。

但是,我们仍然有这个锁问题,所以我假设它与内存/交换无关。为什么我仍然收到锁定?这里发生了什么?

我相信重新启动将解决问题,但这不应该是解决方案。我们可以做些什么来防止将来发生这种情况?我尝试刷新查询缓存和表 - 有效。

由于 RDS,其他类型的冲洗不起作用:/

以下是我可以提供的大量信息:

询问

INSERT INTO `myTable` (`firstName`, `lastName`, `email`) VALUES ('Travis', 'B...', '...@gmail.com')
Run Code Online (Sandbox Code Playgroud)

错误信息

Lock wait timeout exceeded; try restarting transaction
Run Code Online (Sandbox Code Playgroud)

表模式

CREATE TABLE IF NOT EXISTS `myTable` (
  `id` int(15) NOT NULL AUTO_INCREMENT,
  `firstName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `lastName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,

  PRIMARY KEY (`id`),
  UNIQUE KEY `Unique Emails` (`email`),
  KEY …
Run Code Online (Sandbox Code Playgroud)

mysql innodb performance amazon-rds performance-tuning

9
推荐指数
1
解决办法
2万
查看次数