我们目前正在使用200 GB的数据库,而且我们的空间不足,所以我们希望增加分配的存储空间。
我们使用通用(SSD)和MySQL 5.5.53数据库(没有多可用区部署)。
如果我转到Amazon RDS菜单并将分配的存储更改为更多(从200到500),我会收到以下“警告”:
提前致谢。
首先根据RDS FAQs,只要您只增加存储大小但不升级实例层,就不应该有停机时间。
问:缩放期间我的数据库实例是否仍然可用?
在保持数据库实例可用性的同时,可以增加分配给数据库实例的存储容量。
第二,根据RDS documentation:
每个GiB的通用SSD存储的基准I / O性能为3 IOPS,这意味着更大的卷具有更好的性能....低于1 TiB的卷也能够在长时间内突发到3,000 IOPS(突发与1 TiB以上的体积无关)。实例I / O信用余额决定了突发性能。
我不能肯定地说出原因,但我想当RDS增加磁盘大小时,它可能会对数据进行碎片整理或重新排列数据块,从而导致繁重的I / O.如果在调整大小期间服务器的使用率很高,它可能会完全消耗I / O信用,从而减少I / O和更长的转换时间。但是考虑到你从200GB开始,我认为应该没问题。
最后,如果您担心停机或性能影响,我建议您使用multi-az deployemnt。在维护窗口或快照期间,将会有短暂的I / O暂停几秒钟,这可以通过备用或只读副本来避免。
技术答案是AWS在扩展存储时不支持停机。
但是,在现实世界中,您需要考虑当前数据库的繁忙程度以及“减速”将如何影响用户。考虑连接可能超时或站点在缩放事件持续时间内可能比平常慢的可能性。
根据我的经验,RDS存储大小调整顺利,没有问题。但是,我们选择一天中最好的时间(最不忙)来实现这一点。我们也通过备份程序。为了以防万一,我们快照并启动备用服务器以手动切换到备用服务器。
您可以预期性能会下降,但是您应该在开发环境中测试它在开发环境中的影响,这样您就不会措手不及。如果您在非高峰时段执行此操作,您应该没事。
回答你的问题:RDS实例可能会被称为I / O信用点。 Burst意味着其性能可以超过基准性能以满足需求高峰。除非您的实例依赖于它们(您可以从rds实例指标中确定这一点),否则如果您通过它们进行刻录应该不是什么大问题。读一读I/O Credits and Burst Performance。
更改磁盘大小不会导致完整的rds实例中断,只会导致性能下降,因此最好在非高峰时段执行此操作,以尽可能减少影响。