Search code examples
performancesymfony1symfony-1.4propeldatabase-performance

Performance impact of not closing propel connection


I'm using symfony 1.4/propel 1.4 for a project, which was made by other developer earlier. On that project, propel connection is taken by using following code

$con = Propel::getConnection(UsersPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);

However it never closes the connection using

Propel::close();

I just searched that there are 1500+ such incidents of opening connection & I guess none of them is closing connection.

I know its always good practice to close connection but in present case, it seems I wont be able to fix them all as fixing all the incidents is definitely going to take lot of time, may be a whole day. So now I'm confused if I should fix that or not. If I let it be like that, will it have any performance impact?

EDIT: Just for reference

Part 2 of this question Use of closing database connection in php


Solution

  • If anything, explicitly closing connections may harm performance. PDO often caches connections from one request to the next, on the reasonable assumption that the next request will use the same credentials.

    Edit: reading the docs, it looks to me like PDO::ATTR_PERSISTENT connections are cached regardless of any attempt to close them, so you might as well not bother.