【发布时间】:2011-10-31 08:36:40
【问题描述】:
我在 mysql 中使用学说 2 PDO。
在对服务器进行压力测试时,mysql 报告了很多中止的连接(高达 20%)。
我正在尝试查找问题。
Mysql 手册建议确保正确关闭与数据库的连接。 http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
我找不到任何信息,如果学说实际上关闭了连接,或者使用了持久连接。
另外,还有什么可以解释中止连接的原因吗?我在这里不知所措。
PS。服务器是 ubuntu 10.04、nginx 1.x、php 5.3.5 (fpm) 和 mysql 5.1.41
【问题讨论】:
-
Doctrine2 手册建议使用 APC 或其他一些缓存机制。未能提供一个可能会导致大量连接。你有吗?
-
我有用于元数据和查询的 APC 缓存。您是否有手册的链接,其中描述了如何缓存连接?
-
否,但如果禁用缓存,Doctrine 将不得不更频繁地刷新更改,打开更多与数据库的连接。
-
教义不会刷新任何东西。开发商可以。问题是关于如何在教义上建立联系。而你显然不知道答案。
-
我知道如何关闭连接,但我怀疑它会有所帮助。 Here 是 API 参考,像
$em->getConnection()->close()一样使用它。但是 Doctrine 自动有紧密的联系,所以你不应该这样做。
标签: mysql doctrine-orm