ID: 38825 Updated by: [EMAIL PROTECTED] Reported By: mark dot pearson at capita dot co dot uk -Status: Open +Status: Feedback Bug Type: Performance problem Operating System: Windows Server 2003 PHP Version: 5.1.6 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Previous Comments: ------------------------------------------------------------------------ [2006-11-08 14:59:26] mark dot pearson at capita dot co dot uk 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. ------------------------------------------------------------------------ [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