EmbPerl, PHP continued... (fwd)

From: Date: Thu, 01 Jan 1970 00:00:00 +0000
Subject: EmbPerl, PHP continued... (fwd)
Groups: php.dev 
Request: Send a blank email to php-dev+get-13005@lists.php.net to get a copy of this message
Interesting performance comparison here. PHP 3 did ok. Strange how the aolserver numbers are all over the map. -Rasmus ---------- Forwarded message ---------- Date: Wed, 24 Nov 1999 00:25:35 +0800 From: Robert Locke <rlocke@infiniteinfo.com> To: modperl@apache.org Subject: EmbPerl, PHP continued... Hi all, I was looking for some performance data for EmbPerl, PHP, etc. but could only find "Hello World"-type tests. So, I decided to add a few other tests to the mix and post the results. These test results are still very crude. Any feedback/analysis/criticism would be appreciated. Thanks! Rob MACHINE: Dual Pentium III 500 MHz 256 MB RAM RedHat 6.0 (Linux 2.2.5-15smp) DATABASE SERVER: Postgres 6.5.2 WEB SERVERS: Apache w/ mod_perl, EmbPerl (using Apache::DBI) - Apache/1.3.9 (Unix) mod_perl/1.21 Apache w/ mod_php (using persistent DB connection call) - Apache/1.3.9 (Unix) PHP/3.0.12 AOLServer 2.3.3 (supports persistent DB connection) - NaviServer/2.0 AOLserver/2.3.3 - threw this one in just for kicks RELEVANT APACHE SERVER SETTINGS: MinSpareServers 20 MaxSpareServers 35 StartServers 20 MaxClients 150 MaxRequestsPerChild 0 PerlSetEnv EMBPERL_OPTIONS 8082 PerlSetEnv EMBPERL_ESCMODE 0 PerlSetEnv EMBPERL_DEBUG 0 TESTS: Test 1 - Static HTML Test 1(b) - Static HTML with special extension Test 2 - Hello World Test 3 - Big Print Test 4 - Small Database Query Test 5 - Big Database Query Test 1: Static HTML - This is a 6K HTML file called "test1.html". - No embedded code here. Test 1(b): Static HTML with extension - Identical to the static HTML file in every way *except* that extension is changed to ".epl", ".php3", or ".adp" according to web server. - No embedded code here. Test 2: Hello World - Simple test to print "Hello World". - For each of EmbPerl, PHP, AOLServer: [+ "Hello World" +] <? echo "Hello World" ?> <% ns_puts "Hello World" %> Test 3: Big Print - 1000 iterations of incrementally printing "a": a aa aaa aaaa aaaaa aaaaaa ... - As an example: here's the EmbPerl code: [- for($i=0;$i < 1000;++$i) { $a = $a . "a"; print OUT $a, "<br>"; } -] - Returned page was approximately 500 K. Test 4: Small Database Query - Fetch and display 1 record from a products database of about 300 records, searching for an exact match on an indexed field. - Returned page was approximately 5K. - Used persistent db connection in all cases. Test 5: Big Database Query - Fetch and display 24 records from a product database of about 300 records, using a "like" search on a text field. - Returned page was approximately 118K. - Used persistent db connection in all cases. RESULTS: - Results are "Requests per second". I'm not sure how to interpret the numbers on an absolute scale, but the relative comparisons should be somewhat meaningful. - Each test was conducted 5 times and the average is shown. - "ab" was used from the same machine as the web servers because something "strange" happened when I ran it on another machine. (I'll send a separate email regarding this.) 1000 requests, 1 concurrent ab -n 1000 -c 1 <URL> ---------------------- Test1 Test1(b) Test2 Test3 Test4 Test5 ----------------------------------------------------------------------- Apache w/ modperl/ 852.86 99.53 217.25 16.96 78.12 18.32 EmbPerl Apache w/ 836.47 100.06 560.78 16.15 98.76 18.80 PHP AOLServer 100.01 99.72 100.06 12.89 156.30 14.29 1000 requests, 10 concurrent ab -n 1000 -c 10 <URL> ---------------------- Test1 Test1(b) Test2 Test3 Test4 Test5 ------------------------------------------------------------------------ Apache w/ modperl/ 890.37 248.00 262.47 30.31 158.50 45.17 EmbPerl Apache w/ 957.30 492.55 559.71 23.81 268.34 34.64 PHP AOLServer 758.54 227.76 816.65 5.97 141.19 7.45

« previous php.dev (#13005) next »