看到 RDS 死锁错误,这是否与 IOPS 限制有关
Seeing RDS Deadlock errors, could this be tied to IOPS limit
我在我们的 AWS RDS MySQL 服务器上看到一些错误:
一般错误:1205 超过锁定等待超时;尝试重启交易
序列化失败:1213 尝试获取锁时发现死锁;尝试重新启动交易
查看 RDS 控制台监控选项卡,似乎读取 IOPS 被切断了 1, perhaps indicating that the disk IO is not keeping up with the requests. Funny thing is that write IOPS does not seem to be cut off 2。一般来说,很少有应用服务器请求因数据库错误而失败,但希望对此进行排序。
CPU RDS 服务器上的负载峰值约为 50%。这让我觉得 db.t3.small RDS 大小足够了。
数据库很小,只有 20GB,是几年前创建的,所以它在磁存储上。读到这意味着有 200 IOPS 的限制,这与看到的大约 150 + 50 IOPS 峰值相匹配。因此,我正在考虑转向通用 SSD。然而,对于小型数据库,根据文档,这将仅提供 100 IOPS 作为基准性能,但根据文档,3000IOPS 的突发负载是可能的。
这听起来是个好主意吗?还有其他建议吗?
我已经 运行 通用 SSD 几天了。 MySQL 死锁错误从那以后就再也没有出现过,所以如果其他人发现了这个问题,如果您有类似的问题,那么在 RDS 中从磁性 SSD 更改为通用 SSD 肯定是可以尝试的。
我在我们的 AWS RDS MySQL 服务器上看到一些错误:
一般错误:1205 超过锁定等待超时;尝试重启交易 序列化失败:1213 尝试获取锁时发现死锁;尝试重新启动交易
查看 RDS 控制台监控选项卡,似乎读取 IOPS 被切断了 1, perhaps indicating that the disk IO is not keeping up with the requests. Funny thing is that write IOPS does not seem to be cut off 2。一般来说,很少有应用服务器请求因数据库错误而失败,但希望对此进行排序。
CPU RDS 服务器上的负载峰值约为 50%。这让我觉得 db.t3.small RDS 大小足够了。
数据库很小,只有 20GB,是几年前创建的,所以它在磁存储上。读到这意味着有 200 IOPS 的限制,这与看到的大约 150 + 50 IOPS 峰值相匹配。因此,我正在考虑转向通用 SSD。然而,对于小型数据库,根据文档,这将仅提供 100 IOPS 作为基准性能,但根据文档,3000IOPS 的突发负载是可能的。
这听起来是个好主意吗?还有其他建议吗?
我已经 运行 通用 SSD 几天了。 MySQL 死锁错误从那以后就再也没有出现过,所以如果其他人发现了这个问题,如果您有类似的问题,那么在 RDS 中从磁性 SSD 更改为通用 SSD 肯定是可以尝试的。