我们目前正在使用一个200 GB的数据库,空间不足,因此我们希望增加分配的存储空间。
我们使用的是通用(SSD)和MySQL 5.5.53数据库(没有多AZ部署)。
如果我转到Amazon RDS菜单并将分配的存储空间更改为稍多一点(从200到500),则会收到以下“警告”:
mysql - 调整Amazon RDS存储的大小-LMLPHP
耗尽初始通用(SSD)I/O信用,导致更长的转换时间:这意味着什么?
在操作完成之前影响实例性能:这对我来说是最重要的问题。我可以在0个停机时间内调整实例的大小吗?我的意思是,我不在乎在调整大小时查询是否有点慢,但我不想停止我所有的生产网站,调整实例大小,然后再次打开它们(又称有停机时间)。
提前谢谢。

最佳答案

首先,根据RDS FAQs,只要只增加存储大小而不升级实例层,就根本不应该有停机时间。
问:在扩展期间,我的数据库实例是否仍然可用?
可以增加分配给数据库实例的存储容量
同时保持数据库实例的可用性。
第二,根据RDS documentation
通用SSD存储的基线I/O性能为3 IOPS
每个GiB,这意味着较大的卷具有更好的性能。。。。
小于1tib的卷还可以突发到3000 IOPS
对于较长时间段(突发与上述卷无关
1磅)。实例I/O信用余额决定突发性能。
我不知道为什么,但我猜当RDS增加磁盘大小时,它可能会对数据进行碎片整理或重新排列数据块,这会导致大量的I/O。如果您的服务器在调整大小的过程中大量使用,它可能会完全消耗I/O信用,导致更少的I/O和更长的转换时间。不过,考虑到你从200GB开始,我想应该没问题。
最后,如果您担心停机或性能影响,我建议您使用multi-az-deployemnt。在维护窗口或快照期间,会有几秒钟的短暂I/O暂停,这可以通过备用或读取副本来避免。

08-04 14:49