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

Reply via email to