dotcomma: PHP Stress Tests
[ Thanks to Adam Berlinsky-Schine for this link. ]
"I decided to run some tests to see how PHP performs in various situations. The main purpose of this is to determine whether or not hitting a database for each page is a serious performance hit, or whether other factors come into play, such as CPU time or bandwidth. My initial thought is that the database will not be a factor, assuming that large amounts of unnecessary data are not pulled back, and that queries are performed in a reasonable manner. This document is written as I am running the tests, so I don\'t forget anything (heh). I will make notes and provide example code, and possibly have a nice test program built to run all the tests. But in case that is too much work or not feasible, the code provided here should be enough to at least duplicate the tests." I decided to run some tests to see how PHP performs in various situations. The main purpose of this is to determine whether or not hitting a database for each page is a serious performance hit, or whether other factors come into play, such as CPU time or bandwidth.
"For starters, I am running these tests on my own workstation: a Windows 2000 Professional box running on dual Intel Celeron 466's with 256 megs of ram. The web server is IIS 5 and the PHP version is 4.0.0, running as an ISAPI module. I am running the Win32 of MySQL, version 3.22.34-shareware-debug. I am using IE 5.5 as my browser, although on some tests such as the output ones, I will check the results in Netscape 4.08 to make sure there are no large discrepancies."
"The actual timing information provided by these tests should probably not be relied on, since the same machine under Linux would no doubt perform quite differently. However, the relative timing data should be fairly valid. One advantage of a dual CPU machine for running these tests is that the OS (in theory) should not have to switch back and forth between the web server and the browser while outputting large amounts of data. This should make the tests closer to that of a real server environment."