在我们基于 PHP 的 Web 应用程序的负载测试中,我们可以轻松地达到最大连接数 150 的 DB 硬限制。我们使用 ORM 运行 Kohana 来管理数据库连接。
这会导致连接异常(从而导致事务失败),mysql_pconnect 似乎表现更差。
我们正在寻找一种在负载下优雅降级的解决方案。考虑的选项:
- 一个数据库连接池(嗯,这对 PHP 来说是不可能的吧?)
- 当失败是由于达到最大连接数时重试失败的连接
2 似乎合乎逻辑,但 Kohana/ORM 管理 DB 连接过程。我们可以以某种方式配置它吗?
有什么我没有想到的吗?
编辑
这是一个 Amazon AWS RDS 数据库实例,Amazon 为我设置了 150 个限制,并且服务器肯定配置正确。我只想确保在使用我使用的任何数据库的负载下优雅降级。显然,我总是可以升级数据库并拥有更高的连接限制,但我想防止出现故障,以防我们意外达到限制。负载下的优雅降级。