ID: 44497
Updated by: [EMAIL PROTECTED]
-Summary: Php is very slow to make a MySQL connection
Reported By: damien at zaide dot org
-Status: Open
+Status: Bogus
-Bug Type: MySQL related
+Bug Type: Filesystem function related
Operating System: Windows 2003 Server
PHP Version: 5.2.5
Assigned To: fb-req-jani
New Comment:
No, this is just inherent behaviour and nothing to do with PHP.
Previous Comments:
------------------------------------------------------------------------
[2008-03-31 13:36:44] damien at zaide dot org
I have seting-up the xdebug module on 1 of our production server.
I got a big backtrace for the script and i take 16 seconds to get
executed.
Finally I have see that some operation on files take severals times,
like file_exists(), example:
3.2642 1477720 ->
file_exists('\\\\192.168.0.1\\windows\\website\\ssp_director\\app\\vendors\\cache_engines/file.php')
\\192.168.0.1\windows\website\ssp_director\app\cake\basics.php:621
>=> FALSE
3.4922 1477840 ->
file_exists('\\\\192.168.0.1\\windows\\website\\ssp_director\\app\\vendors\\cache_engines/file.php')
\\192.168.0.1\windows\website\ssp_director\app\cake\basics.php:623
So this function take 228ms to execute, and the file_exists is executed
30 times so 7 seconds only for this function.
Every access to the files on the server seems to be quite slow. Does
php for windows use a special lock system who is slow on the samba
server?
------------------------------------------------------------------------
[2008-03-29 17:57:52] [EMAIL PROTECTED]
Then you need to figure out what really is the bottleneck. It doesn't
seem to be mysql_connect(), so check the phpbb/joomla/whatever you're
experiencing with, what they're actually using to connnect to mysql. I'd
use something like Xdebug to figure out where the real problem is..
------------------------------------------------------------------------
[2008-03-27 15:25:42] damien at zaide dot org
I have make a very small script and the connection, execution is fast.
Everything is fine. Very strange.
Here the small script:
$db_link = mysql_connect("xxxxx", "user", "pass");
mysql_select_db("database");
$ret = mysql_query("SELECT * FROM zp_options");
while ($tmp = mysql_fetch_array($ret))
print_r($tmp);
mysql_close($db_link);
------------------------------------------------------------------------
[2008-03-26 21:27:09] [EMAIL PROTECTED]
Try the smallest possible script. Just "mysql_connect()" with proper
parameters..
------------------------------------------------------------------------
[2008-03-26 13:57:50] damien at zaide dot org
I have tested with the fqdn and with the IP address, result is the
same.
I have added the fqdn in my host file in windows and result is the
same.
It's big application like phpbb or joomla who get this problem ... So i
think they use mysql_connect(). I haven't tested small scripts on the
servers.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/44497
--
Edit this bug report at http://bugs.php.net/?id=44497&edit=1