Edit report at http://bugs.php.net/bug.php?id=51610&edit=1
ID: 51610 Comment by: marioroy at verizon dot net Reported by: marioroy at verizon dot net Summary: 1 second+ needed for OCI8 versus PDO/oci to open/close connection and exit Status: Wont fix Type: Bug Package: OCI8 related Operating System: Linux & Snow Leopard PHP Version: 5.3SVN-2010-04-20 (snap) Assigned To: sixd New Comment: Thank you for the feedback. Previous Comments: ------------------------------------------------------------------------ [2010-04-21 18:31:34] s...@php.net This is expected. There is a shutdown cost at process termination from closing a timer thread needed by the connection rearchitecture of OCI8 1.3. Most deployments either do not start and stop PHP processes frequently, or are not sensitive to the time between completing the work of the script and the termination of the process. It's possible that PDO_OCI may be changed in future and might get the same behaviour. ------------------------------------------------------------------------ [2010-04-20 05:24:44] marioroy at verizon dot net Description: ------------ Is this normal to see the native OCI8 1.3.5 or later requiring additional time to run code snippet shown below when accessing Oracle 10.2.0.4. I'm seeing this at work as well (SUSE Linux). Therefore, I have stayed with OCI8 1.2.5 for the moment. Notice how the time is the same when using the PDO/OCI interface. Test script: --------------- # Native OCI8 Performance: # # PHP 5.2.14 201004191430, OCI8 1.2.5: ~ 0.15 seconds ;this is nice # # PHP 5.3.3 201004191430, OCI8 1.2.5: ~ 0.25 seconds ;takes 0.1 extra here # PHP 5.3.3 201004191430, OCI8 1.3.5: ~ 1.20 seconds ;slowness begins when # PHP 5.3.3 201004191430, OCI8 1.4.1: ~ 1.20 seconds ;script exits for 1.3.5+ # PHP 5.3.3 201004191430, OCI8 1.4.2: ~ 1.20 seconds <?php $conn = oci_connect('hr', 'hr', '//localhost:1521/mac10g'); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } oci_close($conn); exit; ?> # PDO/OCI Performance: # # PHP 5.2.14 201004191430, OCI8 1.2.5: ~ 0.15 seconds ;very fast # # PHP 5.3.3 201004191430, OCI8 1.2.5: ~ 0.15 seconds ;same as PHP 5.2.14 :) # PHP 5.3.3 201004191430, OCI8 1.3.5: ~ 0.15 seconds ;very happy to see this # PHP 5.3.3 201004191430, OCI8 1.4.1: ~ 0.15 seconds ;with 1.3.5+ # PHP 5.3.3 201004191430, OCI8 1.4.2: ~ 0.15 seconds <?php try { $conn = new PDO('oci:dbname=127.0.0.1/mac10g', 'hr', 'hr'); } catch (PDOException $e) { trigger_error("Could not connect to database: ". $e->getMessage(), E_USER_ERROR); } $conn = NULL; exit; ?> Expected result: ---------------- I'm hoping that PHP 5.3.2+ with OCI8 1.4.1+ can perform as fast as PHP 5.2.13 with OCI8 1.2.5 when using the native driver. This is why I have stayed with 1.2.5 at work. It wasn't until tonight that I saw the times the same via the PDO interface. That made my day. Actual result: -------------- The native OCI8 1.3.5+ requires extra time to open/close and exit. The time delta is 1 second for such a small code snippet. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=51610&edit=1