与 Azure Database for PostgreSQ... 笔记

与 Azure Database for PostgreSQL 配合使用的 HikariCP 通用最佳实践

连接池对于 Azure Database for PostgreSQL 的性能至关重要,因为建立新连接会消耗大量资源。HikariCP 是一款流行的 Java 连接池,若配置不当,可能导致连接耗尽、连接陈旧或延迟。最大生命周期控制连接在退役前可被重用的时长,30 分钟是一个常见且有效的设置。最小空闲连接数理想情况下应等于最大池大小,以确保在流量突发时立即可用。空闲超时决定了未使用连接在移除前可保持的时间,默认 10 分钟提供了良好的平衡。最大池大小至关重要:过小会导致超时,过大会压垮数据库。最大池大小的保守起始值为 10-20,并在负载测试后进行调整。启用 TCP keepalive 可防止由网络设备引起的陈旧连接。监控活跃连接和空闲连接数量、获取时间以及连接池耗尽情况,有助于确定正确的池大小。长运行查询往往是连接池耗尽的根本原因,因此必须调查查询性能。本文提供了一个生产环境配置示例,针对 Azure Database for PostgreSQL 平衡了这些参数。主要目标是在应用程序响应性和数据库资源消耗之间实现健康平衡,而不仅仅是最大化连接数。遵循这些实践可提升连接至 Azure Database for PostgreSQL 的应用程序的扩展性、延迟和可靠性。