ID: 38825
User updated by: mark dot pearson at capita dot co dot uk
Reported By: mark dot pearson at capita dot co dot uk
-Status: Bogus
+Status: Open
Bug Type: Performance problem
Operating System: Windows Server 2003
PHP Version: 5.1.6
New Comment:
I changed the path in my benchmark script to say both:
include './emptyfile.php';
and
include 'C:/www/php5tests/emptyfile.php';
and it made no difference whatsoever to the performance of the script,
contrary to what was suggested.
Previous Comments:
------------------------------------------------------------------------
[2006-10-18 14:18:56] [EMAIL PROTECTED]
The include process is identical on all Win32 systems, any
slowdowns are likely to be related to either the drive speed
or the OS internals.
That said one of the reasons you are getting such bad
numbers is because you are using a partial path PHP needs to
resolve first. This compounded with ZTS mode makes things
very slow, change the include statement to use full paths
and you'll see much improved performance, not to mention
much more consistent numbers.
------------------------------------------------------------------------
[2006-09-14 11:25:24] mark dot pearson at capita dot co dot uk
Description:
------------
Having recently set up a Windows Server 2003 web development server it
has been found that file access by way of PHP 'include' is much slower
than it should be when compared to other platforms.
A small benchmark script (included) was run on four different platforms
(none of them production servers), using both PHP4 and PHP5 as described
below:
PLATFORM 1
----------
System:
Microsoft Windows XP
Professional
Version 2002
Service Pack 2
Computer:
Intel(R) Pentium(R) M processor 1600MHz
589 MHz, 512 MB of RAM
PHP versions tested:
4.4.4 and 5.2 2006-09-13 snapshot
PLATFORM 2
----------
System:
Microsoft Windows Server 2003
Enterprise Edition
Service Pack 1
Computer:
Intel(R) Xeon(TM) CPU 2.80GHz
2.80Ghz, 2.00GB of RAM
Physical Address Extension
PHP versions tested:
4.4.4 and 5.2 2006-09-13 snapshot
PLATFORM 3
----------
System:
Microsoft Windows Server 2003
Standard Edition
Service Pack 1
Computer:
Intel(R) Xeon(TM) CPU 3.00GHz
3.00Ghz, 3.50GB of RAM
PHP versions tested:
4.4.4 and 5.1.6
PLATFORM 4
----------
Fedora Core 4
Pentium 3 760MHz
256MB of RAM
4.3.11
The benchmark script was run 6 times on each platform.
Reproduce code:
---------------
benchmark.php
-------------
<?php
$tmp = split(" ",microtime());
$start = $tmp[0] + $tmp[1];
for ($i = 0; $i < 5000; $i++){
include 'emptyfile.php';
}
$tmp = split(" ",microtime());
$end = $tmp[0] + $tmp[1];
print "Elapsed time: " . ($end - $start) . "\n";
?>
emptyfile.php
-------------
<?php ?>
Expected result:
----------------
I would expect the benchmark.php script to run more quickly on both
PLATFORM 2 and PLATFORM 3 (both of which are high spec servers running
Windows 2003 Server) than on PLATFORM 1 (a Compaq nx7010 laptop running
Windows XP Pro) or PLATFORM 4 (a Dell Optiplex GX110 running Fedora Core
4).
Actual result:
--------------
The script completed more quickly even on PLATFORM 4 (Pentium 3 730MHz
256MB RAM) than on PLATFORM 2 and 3
The results are included below:
PLATFORM 1 - with no other apps running
=======================================
PHP 4.3.11
----------
>C:\php4\cli\php.exe -n benchmark.php
Elapsed time: 0.87640404701233
>C:\php4\cli\php.exe -n benchmark.php
Elapsed time: 0.89498400688171
>C:\php4\cli\php.exe -n benchmark.php
Elapsed time: 0.98714590072632
>C:\php4\cli\php.exe -n benchmark.php
Elapsed time: 0.92531800270081
>C:\php4\cli\php.exe -n benchmark.php
Elapsed time: 0.94181489944458
>C:\php4\cli\php.exe -n benchmark.php
Elapsed time: 0.92592406272888
PHP 5.2 (2006-09-13 snapshot)
-----------------------------
>C:\php5\php.exe -n benchmark.php
Elapsed time: 0.6999979019165
>C:\php5\php.exe -n benchmark.php
Elapsed time: 0.61439085006714
>C:\php5\php.exe -n benchmark.php
Elapsed time: 0.66567397117615
>C:\php5\php.exe -n benchmark.php
Elapsed time: 0.61945104598999
>C:\php5\php.exe -n benchmark.php
Elapsed time: 0.64544701576233
>C:\php5\php.exe -n benchmark.php
Elapsed time: 0.60436511039734
PLATFORM 2 - With no other apps running
=======================================
PHP 4.4.4
---------
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 2.6818718910217
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 2.6455881595612
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 2.6652920246124
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 2.8808929920197
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 2.7031700611115
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 2.6331689357758
PHP 5.2 (2006-09-13 snapshot)
-----------------------------
>D:\PHP\php.exe -n benchmark.php
Elapsed time: 1.5149850845337
>D:\PHP\php.exe -n benchmark.php
Elapsed time: 1.5081758499146
>D:\PHP\php.exe -n benchmark.php
Elapsed time: 1.5118081569672
>D:\PHP\php.exe -n benchmark.php
Elapsed time: 1.5036170482635
>D:\PHP\php.exe -n benchmark.php
Elapsed time: 1.500696182251
>D:\PHP\php.exe -n benchmark.php
Elapsed time: 1.5246729850769
PLATFORM 3 - With no other apps running
=======================================
PHP 5.1.6
---------
>C:\PHP\php.exe -n benchmark.php
Elapsed time: 0.79046392440796
>C:\PHP\php.exe -n benchmark.php
Elapsed time: 0.79226303100586
>C:\PHP\php.exe -n benchmark.php
Elapsed time: 0.78908896446228
>C:\PHP\php.exe -n benchmark.php
Elapsed time: 0.79035115242004
>C:\PHP\php.exe -n benchmark.php
Elapsed time: 0.78956294059753
>C:\PHP\php.exe -n benchmark.php
Elapsed time: 0.78894019126892
PHP 4.4.4
---------
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 1.2411949634552
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 1.2386450767517
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 1.2364308834076
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 1.23734998703
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 1.2394840717316
>D:\php-4.4.4-Win32\cli\php.exe -n benchmark.php
Elapsed time: 1.2390379905701
PLATFORM 4 - with no other apps running
=======================================
PHP 4.3.11 (cli) (built: Nov 15 2005 12:17:31)
----------------------------------------------
$ php -n benchmark.php
Elapsed time: 0.54825496673584
$ php -n benchmark.php
Elapsed time: 0.51459383964539
$ php -n benchmark.php
Elapsed time: 0.51424598693848
$ php -n benchmark.php
Elapsed time: 0.54676699638367
$ php -n benchmark.php
Elapsed time: 0.54855012893677
$ php -n benchmark.php
Elapsed time: 0.51129794120789
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=38825&edit=1