Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 不关闭推进连接对性能的影响_Performance_Symfony1_Symfony 1.4_Propel_Database Performance - Fatal编程技术网

Performance 不关闭推进连接对性能的影响

Performance 不关闭推进连接对性能的影响,performance,symfony1,symfony-1.4,propel,database-performance,Performance,Symfony1,Symfony 1.4,Propel,Database Performance,我正在使用symfony 1.4/propel 1.4进行一个项目,该项目是由其他开发人员早些时候开发的。在该项目中,使用以下代码进行推进连接 $con = Propel::getConnection(UsersPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); 但是,它从不使用关闭连接 Propel::close(); 我刚刚搜索到有1500多个这样的事件打开连接&我猜没有一个是关闭连接 我知道密切联系总是很好的做法,但在目前的情况下,我似乎无法

我正在使用symfony 1.4/propel 1.4进行一个项目,该项目是由其他开发人员早些时候开发的。在该项目中,使用以下代码进行推进连接

$con = Propel::getConnection(UsersPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
但是,它从不使用关闭连接

Propel::close();
我刚刚搜索到有1500多个这样的事件打开连接&我猜没有一个是关闭连接

我知道密切联系总是很好的做法,但在目前的情况下,我似乎无法解决所有问题,因为解决所有问题肯定需要很多时间,可能需要一整天。所以现在我不知道我是否应该解决这个问题。如果我让它变成这样,它会对性能产生影响吗

编辑:仅供参考


此问题的第2部分

如果有任何问题,则显式关闭连接可能会损害性能。PDO通常缓存从一个请求到下一个请求的连接,前提是下一个请求将使用相同的凭据


编辑:阅读,在我看来,PDO::ATTR_持久连接是缓存的,无论是否尝试关闭它们,所以您最好不要麻烦

他们每次都连接到推进器吗?!理论上,这是由Symfony完成的,您不必管理开盘/收盘。顺便说一下,如果您不让PHP显式执行,我想PHP会在每个脚本的末尾关闭连接。这通常在
\u destruct
对象上执行。请参阅。不一定,但主要是在事务操作的情况下。然而,对于简单的查询,我也发现很少有地方会发生这种情况。第一段的意思是“不应该关闭连接”吗?如果是,建议如何使用spreep::close()IMHO,我认为您永远都不需要调用close()。我不必担心一遍又一遍地调用getConnection(),因为Propel有自己的连接缓存,所以每次都会返回相同的连接。