推进和持久连接



我在使用 propel(使用 PHP 的 ORM)与 Amazon RDS 数据库进行大量并发连接时遇到问题。应用程序在负载测试期间运行良好,一次打开 20 到 50 个连接,然后似乎碰壁,几乎立即达到最大连接数,一切都死了。

我相信Propel正在使用mysql_pconnect,但我找不到它在哪里指定它,或者一种简单的方法来关闭它。我可能在这里追逐一条红鲱鱼,但我被难住了,网上有足够的关于 pconnect 导致连接过多问题的评论,我认为值得一试将其删除。

有人知道如何做到这一点吗?我一直在使用各种短语进行搜索,似乎找不到任何东西。

事实证明,该错误是由 RDS 重做日志引起的。所有 RDS 实例大小只有一个大小。在较大的实例大小上,可以填充重做日志,并在将数据写出到数据库之前返回到开头。在这一点上,它做了"疯狂冲洗"的事情来赶上,不处理任何新的请求,它们像疯了一样堆积起来。这最终导致我们的应用程序崩溃。更多,较小的RDS服务器解决了这个问题,尽管亚马逊对此不太满意。他们需要能够更改重做日志的大小。

相关内容

  • 没有找到相关文章

最新更新