问题描述
我目前正在将一些 Postgresql 11 数据库迁移到 Azure,在配置数据库存储的过程中,我最终对 Postgresql 如何管理磁盘空间产生了疑问。
考虑到存储空间,我应该在我的数据库上留下多少可用空间?我想通过只需要什么来降低成本,而不会对性能造成实质性影响。在需要时扩展存储空间不是问题。
低可用空间如何以及在何种程度上影响我的性能?
就上下文而言,我有大小在 70GB 到 90GB 之间的数据库。
解决方法
您可以参考文档:Pricing tiers in Azure Database for PostgreSQL:
您可以在服务器创建期间和之后添加额外的存储容量,并允许系统根据您的工作负载的存储消耗自动增加存储。 存储只能放大,不能缩小。
本文档可以帮助您了解有关 Azure PostgreSQL storage management 的更多信息。
如您所说,您的数据库大小为 70GB 和 90GB。 基本价格层是合适的。根据我对 Azure SQL 数据库的经验,通常 75% 或 80% 是警报指标。您可以先配置不少于 90GB*120%=108GB 的存储空间。
HTH。
,如果数据库的预配置存储限制等于或小于 10 GB,则在数据消耗 80% 时创建并alert。
如果数据库的预配置存储限制等于或小于 100 GB,则在数据消耗 90% 时创建并发出警报。对于其他所有内容,在空间消耗 95% 时创建警报。
如果您的服务器达到预配置的存储限制,它将很快用完空间并设置为只读。
监控您的使用情况,您还可以提供更多存储空间以继续使用服务器,而无需删除任何文件、日志等。
配置低存储容量时的一个常见问题是 IOPS。存储容量越低,它可以处理的 IOPS 就越少。如果你的应用需要高IOP,或者你看到查询性能不佳等待IO,那么建议你创建一个存储空间更大的Azure Database for PostgreSQL服务器,以获得更多的IOP,这样你的应用性能就不会受到影响存储限制。