自从我们迁移到 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)