推进和持久连接

时间:2012-11-14 20:01:11

标签: propel mysql-pconnect

我使用propel作为带有PHP的ORM,与Amazon RDS数据库的大量并发连接存在问题。在负载测试期间,应用程序运行良好,一次打开20到50个连接,然后似乎碰到了一堵墙,几乎立刻就达到最大连接,一切都会死亡。

我相信Propel正在使用mysql_pconnect,但我无法找到它指定的位置,或者是一种简单的方法来关闭它。我可能在这里追逐一只红鲱鱼,但是我很难过,网上有足够的评论关于pconnect造成连接太多的问题,我认为将其删除是值得的。

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

1 个答案:

答案 0 :(得分:0)

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