性能
IBM Cloud® Databases for PostgreSQL部署既可以根据使用情况手动 缩放,也可以在某些资源条件下配置为 自动缩放。 在调整部署性能时,有几个因素需要考虑。
监控您的部署
Databases for PostgreSQL 部署提供了与 IBM Cloud® Monitoring 服务的集成,用于对部署上的资源使用情况进行基本监控。 许多可用指标(如磁盘使用率和 IOPS)的显示可帮助您在部署中配置 自动扩展。 观察使用趋势并配置自动扩展以应对这些趋势,有助于在数据库因资源耗尽而变得不稳定之前缓解性能问题。
磁盘 IOPS
每秒输入/输出操作次数(IOPS)受存储容量类型的限制。 Databases for PostgreSQL部署的存储卷是在 Block Storage耐用卷上配置的。 如果运行负载达到饱和或超过 IOPS 限制,数据库请求和操作将被延迟,直到磁盘能够跟上。 长时间的大负载会导致部署无法处理查询,从而实际上无法使用。 如果出现响应延迟和操作失败,则可能超出了磁盘的 IOPS 限制。 您可以通过增加磁盘空间来提高部署可用的 IOPS 数量。
我们建议生产环境至少使用 100 GB 磁盘(1,000 IOPS)。
内存使用情况
Databases for PostgreSQL 部署的内存设置会根据部署的总内存进行自动调整。 具体来说,work_mem
, maintenance_work_mem
,和
effective_cache_size
设置为提供、恢复或比例。
您可以通过调整 PostgreSQL 配置 中的 shared_buffers
来设置专用于数据库共享缓冲池的内存量。 建议值为部署总内存的 25%。 为共享缓冲池分配过多内存会导致系统无法将内存用于其他用途,影响性能,甚至可能导致数据库瘫痪。
为部署分配更大量的内存(共享缓冲池之外的内存)仍然有利于提高性能。 例如,PostgreSQL 使用缓存磁盘页面填充内存,以提高性能。 无需直接为 PostgreSQL 分配内存,PostgreSQL 就可以使用它。
连接限制
Databases for PostgreSQL 将 PostgreSQL 数据库的最大连接数设置为 115。其中 15 个连接保留给超级用户,用于维护数据库的状态和完整性,100 个连接供您和您的应用程序使用。 达到连接上限后,任何启动新连接的尝试都会导致错误。 为防止连接数过多,可使用连接池,或扩大部署规模并增加连接数限制。 有关详细信息,请参阅 管理 PostgreSQL 连接 页面。