Re: Linux Hello World Benchmarks - 11/19/2001

2001-11-19 Thread Joshua Chamas

Perrin Harkins wrote:
> 
> on 11/19/01 8:05 PM, Joshua Chamas at [EMAIL PROTECTED] wrote:
> > It has been a while, but here's a new set of Hello World benchmarks!
> 
> There was a recent announcement of HTML::Template::JIT, and Template Toolkit
> has an XS option now.  Any chance you could put those into the next round?
> - Perrin

OK, I upgraded Template Toolkit to version 2.06 with XS option on 
for all templates, and performance is much improved!!  

However, HTML::Template::JIT will likely not work on my system any 
time soon, because it was written for perl 5.6, and I only run 5.00503 
currently. Someone else can submit a test & config specifically for 
HTML::Template::JIT, I'd suggest the h2000 type where speed matters, and 
I'll add it to the test suite even it I can't run the benchmark myself.

[hello]# ./bench.pl -type=2000 -ram -time=60

Test Name   Test File Hits/sec  # of Hits Time(sec) secs/Hit  
Bytes/Hit Mem(KB)   
-   - - - - - 
- - 
Apache::ASP 2000h2000.asp  209.4 12566 60.020.004776  
28998 33200 
Apache::Registry 2000 mod_perl API  h2000.reg  327.0 19622 60.020.003059  
28179 15300 
HTML::Embperl 2000  h2000.epl  107.5  6465 60.120.009299  
28841 20048 
HTML::Mason 2000h2000.mas   80.8  4849 60.000.012374  
28799 110292
HTML::Template 2000 h2000.htm   95.4  5724 60.010.010484  
29152 49932 
mod_php PHP 2000h2000.php  247.6 14862 60.020.004038  
28866 10384 
Template Toolkit 2000   h2000.tt   125.5  7533 60.020.007967  
28889 55748 

-- Josh
_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks Founder   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051



Re: Linux Hello World Benchmarks - 11/19/2001

2001-11-19 Thread Perrin Harkins

on 11/19/01 8:05 PM, Joshua Chamas at [EMAIL PROTECTED] wrote:
> It has been a while, but here's a new set of Hello World benchmarks!

There was a recent announcement of HTML::Template::JIT, and Template Toolkit
has an XS option now.  Any chance you could put those into the next round?
- Perrin




Linux Hello World Benchmarks - 11/19/2001

2001-11-19 Thread Joshua Chamas

Hey, [[ NUMBERS ARE BELOW ]]

It has been a while, but here's a new set of Hello World benchmarks!
What took me so long in getting these out is that the java web environments
that I had set up would keep crashing during the tests in ways that would
not only render their benchmarks meaningless, but also skewed the results
for other tests, say when a java thread would spin out of control!

You can download the latest benchmark suite to run on your system at:

  http://www.chamas.com/bench/hello.tar.gz

It seems to run on linux & solaris just fine, though the tests that
are run depend on what environments you have set up.  Please see the
distribution README on how to run the suite for yourself.

--Josh


METHODOLOGY: These latest numbers come from my running the pubbench.sh script:

  ]# cat pubbench.sh 
  #!/bin/bash

  ./bench.pl -version --ram --init-exec="perl javainit.pl -restart" -time=180 
--store=results
  perl ./javainit.pl -stop

The javainit.pl will kill any of my existing java environments, and if the current
test needs java will start them up.  The test run for 180 seconds total in 60 second 
batches, and for each 60 second run the javainit.pl script will be executed.  

The --ram flag attempts to calculate the RAM used by each test on my linux system 
during each 60 second test with the results averaged across each, so for applications 
with memory leaks, the RAM used only shows 60 seconds worth of them.  The RAM
calculation looks at RAM used & SWAP used from the linux /proc/meminfo file... as
it looks at RAM before the httpd is fired up, but after the init-exec script
executes, the RAM does not take into account the java web server environments 
being started, just memory usage that occurs after they start being used.

DISCLAIMER: These numbers are just that, numbers.  Please don't let them
upset you.  If you have a positive contribution that you would like to make, 
you may download the source code and submit patches ( preferably as diff -u )
to the test suite.  This benchmark suite has evolved over years of benchmarking, 
and takes the point of view that web environments can only be well compared when 
run on the exact same system configuration... this is why the suite is done 
is such a way that you can run it on _your_ system giving you results relevant
to you!

NUMBERS: And without further adieu ... ( see NOTES below )

Test Name   Test File Hits/sec  # of Hits Time(sec) secs/Hit  
Bytes/Hit Mem(KB)   
-   - - - - - 
- - 
Apache::ASP v2.29 2000  h2000.asp  216.8 39042180.090.004613  
28998 33632 
Apache::Registry v2.01 2000 mod_per h2000.reg  341.3 61442180.040.002930  
28179 16081 
HTML::Embperl v1.3.0 2000   h2000.epl  113.2 20391180.120.008833  
28841 20418 
HTML::Mason v1.03 2000  h2000.mas   84.0 15115180.030.011911  
28799 112220
HTML::Template v2.4 2000h2000.htm   99.1 17848180.030.010087  
29152 50292 
mod_caucho JSP 2000 h2000.jsp   97.6 17617180.540.010248  
28965 14057 
mod_jserv JSP 2000  h2000.jsp  148.7 26773180.040.006725  
29408 29613 
mod_php PHP 2000h2000.php  258.2 46477180.020.003873  
28866 10212 
Template v2.04 Toolkit 2000 h2000.tt53.3  9604180.030.018745  
28889 55629 

Test Name   Test File Hits/sec  # of Hits Time(sec) secs/Hit  
Bytes/Hit Mem(KB)   
-   - - - - - 
- - 
Apache::ASP v2.29   hello.asp  349.8 62985180.050.002859  
242   29601 
Apache::Dispatch v0.09 handler  hello/wor  585.8105443180.010.001707  
197   9205  
Apache::ePerl   hello.epe  347.1 62508180.080.002881  
218   17477 
Apache::Registry v2.01 CGI Raw  hello.cgi  677.7122003180.030.001476  
5213061 
Apache::Registry v2.01 CGI.pm   hello.cgi  449.7 80967180.050.002224  
217   20717 
Apache::SSI v2.16   hello.sht  546.7 98426180.030.001829  
200   13061 
CGI::SpeedyCGI CGI Raw  hello.scg  159.6 28722180.000.006267  
197   9748  
CGI::SpeedyCGI CGI.pm   hello.scg  145.1 26117180.010.006892  
217   10648 
HTML static hello.htm  879.215170.610.001137  
312   1982  
HTML::Embperl v1.3.0hello.epl  463.6 83471180.050.002157  
221   17333 
HTML::Mason v1.03   hello.mas  368.5 66348180.040.002714  
198   29009 
HTML::Template v2.4   

Re: [bordering on OT] Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2001-01-04 Thread Roger Espel Llima

On Thu, Jan 04, 2001 at 09:55:39AM -0500, Blue Lang wrote:
> Eh, ab isn't really made as anything other than the most coarsely-grained
> of benchmarks. Concurrency testing is useless because it will measure the
> ratio of requests/second/processor, not the scalability of requests from
> single to multiple processors.

Yeah, I agree 'ab' is a pretty coarse benchmark.  However, it does
in a way measure how much the various processors are helping,
because running ab with -c 1 should pretty much ensure that apache
only uses one processor at a time (except for a slight overlap while
one process does the logging and another could be reading the next
request from another processor), and similarily -c 2 should let
apache use 2 processors at one given time.  All approximately, of
course.

Anyway, on that 4way server it works that way; the requests per
second increase quickly with the concurrency up to 4, but don't
increase anymore after that.  That is serving relatively slow
dynamic pages; with static content I'd expect more rapidly
diminishing returns.

-- 
Roger Espel Llima, [EMAIL PROTECTED]
http://www.iagora.com/~espel/index.html



[bordering on OT] Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2001-01-04 Thread Blue Lang

On Thu, 4 Jan 2001, Roger Espel Llima wrote:

> JR Mayberry <[EMAIL PROTECTED]> wrote:
> > Linux does serious injustice to mod_perl. Anyone who uses Linux knows
> > how horrible it is on SMP, I think some tests showed it uses as litle as
> > 25% of the second processor..
>
> A simple benchmark with 'ab' shows the number of requests per second
> almost double when the concurrency is increased from 1 to 2.  With a
> concurrency of 4, the number of requests per second increases to
> about 3.2 times the original, which is not bad at all considering
> that these are dynamic requests with DB queries.

Eh, ab isn't really made as anything other than the most coarsely-grained
of benchmarks. Concurrency testing is useless because it will measure the
ratio of requests/second/processor, not the scalability of requests from
single to multiple processors.

IOW, you would see almost exactly that same increase in req/second on a
single processor, most likely, unless you have a really slow machine.
You'd have to tune your load to give you one req/second/processor and then
go from there for it to mean anything.

Of course the original poster's statement on linux using only 25% of a
second CPU is a fuddy and false generalization, but that's a different
story. :P

-- 
   Blue Lang, Unix Voodoo Priest
   202 Ashe Ave, Apt 3, Raleigh, NC.  919 835 1540
"I was born in a city of sharks and sailors!" - June of 44




Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2001-01-04 Thread Roger Espel Llima

JR Mayberry <[EMAIL PROTECTED]> wrote:
> The Modperl handler benchmark, which was done on a dual P3 500mhz on
> Linux does serious injustice to mod_perl. Anyone who uses Linux knows
> how horrible it is on SMP, I think some tests showed it uses as litle as
> 25% of the second processor..

It's an old post, but I simply cannot let this one pass uncommented.
I run a busy Apache/mod_perl server on a 4-way SMP Linux box (kernel
2.2.13 from VA Linux), and it sure seems to be using all CPUs quite
effectively.

A simple benchmark with 'ab' shows the number of requests per second
almost double when the concurrency is increased from 1 to 2.  With a
concurrency of 4, the number of requests per second increases to
about 3.2 times the original, which is not bad at all considering
that these are dynamic requests with DB queries.

Anyway, I wouldn't expect the OS's SMP to be the limiting factor on
Apache's dynamic page performance.  Apache uses multiple processes,
and dynamic page generation is generally CPU bound, not I/O bound.

-- 
Roger Espel Llima, [EMAIL PROTECTED]
http://www.iagora.com/~espel/index.html



Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-18 Thread Joshua Chamas

[EMAIL PROTECTED] wrote:
> 
> On Mon, Dec 18, 2000 at 10:37:16AM -0800, Joshua Chamas wrote:
> >
> > Please feel free to run the tests yourself, and if you give
> > me the results, I'll be sure to post them at a later date
> > at http://www.chamas.com/bench/ .  You can grab the benchmarks
> > from http://www.chamas.com/bench/hello.tar.gz
> >
> 
> I downloaded the tar ball just to fool around on my system.  It will
> be nice to have a README file with a short instruction set.
> 
> Do you compile apache for each test or do you just use
> one size fits all apache  with everything compiled in?

One size fits all is the idea, but only the relevant parts
of that benchmark will be loaded into a custom httpd.conf
startup file for apache.  The benchmarks get run at the 
same time on the same apache, so any overhead due to modules
registering themselves into apache for handler stages
will be passed to all the tests.

Yes, I'll provide a README, and --help/-h help command
line docs in the next release.

-- Josh



Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-18 Thread newsreader


On Mon, Dec 18, 2000 at 10:37:16AM -0800, Joshua Chamas wrote:
> 
> Please feel free to run the tests yourself, and if you give
> me the results, I'll be sure to post them at a later date
> at http://www.chamas.com/bench/ .  You can grab the benchmarks
> from http://www.chamas.com/bench/hello.tar.gz
> 

I downloaded the tar ball just to fool around on my system.  It will
be nice to have a README file with a short instruction set.

Do you compile apache for each test or do you just use
one size fits all apache  with everything compiled in?



Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-18 Thread Joshua Chamas

JR Mayberry wrote:
> 
> I strongly dislike the benchmarks on the below URL, its very
> misleading..
> 
> The Modperl handler benchmark, which was done on a dual P3 500mhz on
> Linux does serious injustice to mod_perl. Anyone who uses Linux knows
> how horrible it is on SMP, I think some tests showed it uses as litle as
> 25% of the second processor..
> 

Please feel free to run the tests yourself, and if you give
me the results, I'll be sure to post them at a later date
at http://www.chamas.com/bench/ .  You can grab the benchmarks
from http://www.chamas.com/bench/hello.tar.gz

Its only with data from multiple platforms that people will
get a comfortable look at the environments cross platform
exactly as you say.

> I don't think the benchmarks can be taken for anything, you have
> benchmarks running on different Architectures other then PC based... 300
> mhz on Sun is totally different then 300 mhz on PC based products
> and the real number that drives this benchmark is HITS/S/MHZ..
> 

Yes, I've done these 300Mhz tests before on Solaris & WinNT
and the results are at http://www.chamas.com/bench/ ... got
to http://www.chamas.com/bench/hello_bysystem.html for anything
useful.

> I think for any real test that means anything, there needs to be some
> controlled factors, ie: the hardware and operating system..
> 

The new thing this round of testing is a portable test suite
that anyone can run and control their factors as they please.

--Josh

_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051



Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-18 Thread JR Mayberry

I strongly dislike the benchmarks on the below URL, its very
misleading..

The Modperl handler benchmark, which was done on a dual P3 500mhz on
Linux does serious injustice to mod_perl. Anyone who uses Linux knows
how horrible it is on SMP, I think some tests showed it uses as litle as
25% of the second processor..

I don't think the benchmarks can be taken for anything, you have
benchmarks running on different Architectures other then PC based... 300
mhz on Sun is totally different then 300 mhz on PC based products
and the real number that drives this benchmark is HITS/S/MHZ..

I think for any real test that means anything, there needs to be some
controlled factors, ie: the hardware and operating system..


Gunther Birznieks wrote:

> 
> For the raw benchmarks...
> 
> OK, I finally got a little time to download and read some the hello.tar.gz.
> 
> It's good to see TT is fairly fast. But it's a shame that the only way to
> get faster than PHP is to write a raw Mod_perl handler according to the
> benchmarks. All the other mod_perl tools seem slower.
> 
> JSP seems to also blow away mod_perl and PHP (except being almost
> equivalent to mod_perl handler speed). I assume Resin is precompiling JSP
> to Java classes and that maybe the JRE you are using does some very good
> hotspot on-the-fly machine-code compiling type technology?
> 
> How does this benchmark stuff compare to the tests run at
> 
> http://www.chamas.com/bench/
> 
> I notice that JSPs take quite a beating there but are running on a lower
> end machine on that set of tests. I presume the below tests are intended to
> replace the tests run on these various disparate machines.
> 
> You also seem to have taken out tests? So you are no longer testing
> servlets only? It would be interesting to see if Servlet -> JSP dispatching
> (with is the recommended model of coding Java Servlets/JSPs these days)
> results in any slow down.
> 
> At 02:15 PM 12/16/2000 -0800, Joshua Chamas wrote:
> >Hey,
> >
> >Still very rough, the hello world benchmark suite is available
> >for download at: http://www.chamas.com/bench/hello.tar.gz
> >You may run it like:
> >
> >   # to get started, see what tests will run, note you
> >   # may need some CPAN modules installed to get this far
> >   perl ./bench.pl -test
> >
> >   # to run tests for 1 minute ... shut down your programs
> >   # and walk away for best results.
> >   perl ./bench.pl -time=60
> >
> >Here are my latest results, having added Resin/caucho/JSP
> >with a J2RE 1.3.0 IBM java engine, which other benchmarks
> >say is the fastest java on linux overall, & from previous
> >testing resin seems the fastest JSP.
> >
> >I changed the SSI tests to look more like the others, which
> >also sped them considerably.  Finally, I added tests for PHP,
> >mine is 4.0.3, & ePerl.
> >
> >Test Name Test File  Hits/sec   Total Hits Total Time
> >sec/Hits   Bytes/Hit
> >  -- -- -- --
> >-- --
> >Apache::ASP   hello.asp   414.3 24857 hits 60.00
> >sec  0.002414   179 bytes
> >Apache::Dispatch handler  hello/worl  689.5 41375 hits 60.01
> >sec  0.001450   134 bytes
> >Apache::Registry CGI Raw  hello_raw.  725.2 43514 hits 60.00
> >sec  0.001379   52 bytes
> >Apache::Registry CGI.pm   hello.reg   491.5 29492 hits 60.00
> >sec  0.002035   154 bytes
> >Apache::SSI   hello.shtm  584.6 35080 hits 60.01
> >sec  0.001711   137 bytes
> >Apache::ePerl hello.eper  359.8 21588 hits 60.00
> >sec  0.002780   155 bytes
> >HTML static   hello.html 1195.2 5 hits 41.83
> >sec  0.000837   249 bytes
> >HTML::Embperl hello.epl   510.8 30647 hits 60.00
> >sec  0.001958   158 bytes
> >HTML::Mason   hello.mas   383.8 23030 hits 60.00
> >sec  0.002605   134 bytes
> >Template Toolkit  hello.tt553.6 33221 hits 60.01
> >sec  0.001806   136 bytes
> >mod_caucho JSPhello.jsp   859.9 5 hits 58.15
> >sec  0.001163   156 bytes
> >mod_include SSI   hello.shtm 1008.0 5 hits 49.60
> >sec  0.000992   136 bytes
> >mod_perl handler  hello.benc  886.3 5 hits 56.42
> >sec  0.001128   134 bytes
> >mod_php PHP   hello.php   750.8 45050 hits 60.00
> >sec  0.001332   163 bytes
> >
> >As has been noted, my static html is probably slower than yours
> >relatively.  I have a dual CPU system & have most apache modules
> >enabled by default, thus creating huge headers for static html.
> >
> >I think the dual CPU nature of my system means my system will
> >spend more time waiting on SMP & network locking as the request
> >rate gets faster, but I don't know much about these things, so if
> >there is something to be gained here, please feel free to clarify
> >how this might impact the results.
> >
> >--Josh
> >
> >_
> >Joshua Chamas 

Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-17 Thread Perrin Harkins

Gunther Birznieks wrote:
> But it's a shame that the only way to
> get faster than PHP is to write a raw Mod_perl handler according to the
> benchmarks. All the other mod_perl tools seem slower.

It makes sense though.  All the other tools do more setup work on each
request: parsing input, manipulating it into objects, etc.

> JSP seems to also blow away mod_perl and PHP (except being almost
> equivalent to mod_perl handler speed).

Hmm... To me that means it's equivalent, not blowing away mod_perl.

> I assume Resin is precompiling JSP
> to Java classes and that maybe the JRE you are using does some very good
> hotspot on-the-fly machine-code compiling type technology?

The IBM JDK has a JIT, but no Hotspot equivalent.  They have the fastest
JVM on x86 though.  Check out the scores here:
http://www.volano.com/report.html

One thing I discovered when testing Caucho's JSP last year is that they
do a really good job of generating efficient servlets from JSP.  I was
not able to write a faster "hello world" servlet than the one they
auto-generated from a JSP page.

By the way, as a cautionary tale on "hello world" tests:
These tests appear to show mod_include handling SSI pages twice as fast
as Apache::SSI.  However, in tests we've done with real production pages
(30-60K, half dozen or so includes per page) Apache::SSI was actually a
little bit faster.  Of course this was about a year ago so the tables
may have turned since then.

- Perrin



Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-17 Thread G.W. Haywood

Hi all,

On Sun, 17 Dec 2000, Gerald Richter wrote:

> there are so many factors, so they are very difficult to compare.
 
True.  But nevertheless I think it's a very useful bit of work because
the thing that stands out is that all (server) dynamic content comes at
a high cost in processor cycles.  This won't come as a surprise to most
of you.  Be aware too that even the fastest of these benchmarks is not
an outstandingly fast setup.

The lesson is obvious: if you're looking for high throughput, think
long and hard about your system architecture, in the widest possible
sense, and keep server-generated dynamic stuff to a minimum.

Having said that, most of us won't be pushing the limits most of the
time (and if we are we're probably secretly quite pleased about it:).

73,
Ged.




Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-17 Thread Gerald Richter



> For the raw benchmarks...
>
> OK, I finally got a little time to download and read some the
hello.tar.gz.
>
> It's good to see TT is fairly fast. But it's a shame that the only way to
> get faster than PHP is to write a raw Mod_perl handler according to the
> benchmarks. All the other mod_perl tools seem slower.
>

Everybody looking at this tests should be aware that it only test the
startup/setup overhead for a "null" request. The Hello World actualy does
nothing, so it highly depends on what features are initialized at the start
of the request, it even makes a difference if different systems sends a
different number of response http headers. For this reason this benchmarks
are _not_ a comparision of the speed of the different systems which would
manifest in real life. To get some usefull numbers there must be tests for
very different situations, at least with some dynamic content in it (Joshua
is working on that), another one with database access and for example some
session management to have persistent data. There are more factors, for
example the possibility of some systems to cache the generated output, the
possibility to build your page out of many components...

But even if somebody will generate such a huge benchmark suite there are so
many factors, so they are very difficult to compare.

Gerald

-
Gerald Richterecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post:   Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151
WWW:http://www.ecos.de  Fax:  +49 6133 925152
-






Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-17 Thread Joshua Chamas

Gunther Birznieks wrote:
> 
> For the raw benchmarks...
> 
> OK, I finally got a little time to download and read some the hello.tar.gz.
> 
> It's good to see TT is fairly fast. But it's a shame that the only way to
> get faster than PHP is to write a raw Mod_perl handler according to the
> benchmarks. All the other mod_perl tools seem slower.
> 

I'm preparing a Hello World 2000 test which will test the runtime
properties of an environment.  It will be relevant to the dynamic
template environments like ASP, Mason, Embperl, TT, JSP, PHP...
early results show the oft stated perl is faster than the rest 
to be true.  More later for RFC.

> JSP seems to also blow away mod_perl and PHP (except being almost
> equivalent to mod_perl handler speed). I assume Resin is precompiling JSP
> to Java classes and that maybe the JRE you are using does some very good
> hotspot on-the-fly machine-code compiling type technology?
> 

The IBM JDK I believe does hotspot... blow away?  The diff I see 
between mod_perl & mod_caucho JSP is .35 sec/hit of my system
time.  Little differences seem to make a bigger impact when 
things are running this fast.  Note, resin does a lot of 
work to compile a JSP, really poor compile time, but you
won't see that in this test.

> How does this benchmark stuff compare to the tests run at
> http://www.chamas.com/bench/

Almost identical, except the SSI test is changed to be more
fair/similar to the rest.  Note that I didn't run all those
benchmarks which is why the numbers are much different.  To
see the old results grouped by the system/who did them, 
check out:

  http://www.chamas.com/bench/hello_bysystem.html

> I notice that JSPs take quite a beating there but are running on a lower
> end machine on that set of tests. I presume the below tests are intended to
> replace the tests run on these various disparate machines.
> 

I don't know what to do with those old benchmarks.  I might replace
them with results that come in from people running the bench.pl
program.  But it takes a lot of time to set things up, so I don't
know if I'll just lose all of it.  Its a lot of data to display
in a relevant way.

> You also seem to have taken out tests? So you are no longer testing
> servlets only? It would be interesting to see if Servlet -> JSP dispatching
> (with is the recommended model of coding Java Servlets/JSPs these days)
> results in any slow down.
> 

I never tested servlets before, that was someone else.  I could
set up a servlet test too, but I'm a java newbie, but I do think
the resin mod_caucho stuff does it too, so it should be shortly
forthcoming.

-- Josh
_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051



Re: Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-16 Thread Gunther Birznieks

For the raw benchmarks...

OK, I finally got a little time to download and read some the hello.tar.gz.

It's good to see TT is fairly fast. But it's a shame that the only way to 
get faster than PHP is to write a raw Mod_perl handler according to the 
benchmarks. All the other mod_perl tools seem slower.

JSP seems to also blow away mod_perl and PHP (except being almost 
equivalent to mod_perl handler speed). I assume Resin is precompiling JSP 
to Java classes and that maybe the JRE you are using does some very good 
hotspot on-the-fly machine-code compiling type technology?

How does this benchmark stuff compare to the tests run at

http://www.chamas.com/bench/

I notice that JSPs take quite a beating there but are running on a lower 
end machine on that set of tests. I presume the below tests are intended to 
replace the tests run on these various disparate machines.

You also seem to have taken out tests? So you are no longer testing 
servlets only? It would be interesting to see if Servlet -> JSP dispatching 
(with is the recommended model of coding Java Servlets/JSPs these days) 
results in any slow down.

At 02:15 PM 12/16/2000 -0800, Joshua Chamas wrote:
>Hey,
>
>Still very rough, the hello world benchmark suite is available
>for download at: http://www.chamas.com/bench/hello.tar.gz
>You may run it like:
>
>   # to get started, see what tests will run, note you
>   # may need some CPAN modules installed to get this far
>   perl ./bench.pl -test
>
>   # to run tests for 1 minute ... shut down your programs
>   # and walk away for best results.
>   perl ./bench.pl -time=60
>
>Here are my latest results, having added Resin/caucho/JSP
>with a J2RE 1.3.0 IBM java engine, which other benchmarks
>say is the fastest java on linux overall, & from previous
>testing resin seems the fastest JSP.
>
>I changed the SSI tests to look more like the others, which
>also sped them considerably.  Finally, I added tests for PHP,
>mine is 4.0.3, & ePerl.
>
>Test Name Test File  Hits/sec   Total Hits Total Time 
>sec/Hits   Bytes/Hit
>  -- -- -- -- 
>-- --
>Apache::ASP   hello.asp   414.3 24857 hits 60.00 
>sec  0.002414   179 bytes
>Apache::Dispatch handler  hello/worl  689.5 41375 hits 60.01 
>sec  0.001450   134 bytes
>Apache::Registry CGI Raw  hello_raw.  725.2 43514 hits 60.00 
>sec  0.001379   52 bytes
>Apache::Registry CGI.pm   hello.reg   491.5 29492 hits 60.00 
>sec  0.002035   154 bytes
>Apache::SSI   hello.shtm  584.6 35080 hits 60.01 
>sec  0.001711   137 bytes
>Apache::ePerl hello.eper  359.8 21588 hits 60.00 
>sec  0.002780   155 bytes
>HTML static   hello.html 1195.2 5 hits 41.83 
>sec  0.000837   249 bytes
>HTML::Embperl hello.epl   510.8 30647 hits 60.00 
>sec  0.001958   158 bytes
>HTML::Mason   hello.mas   383.8 23030 hits 60.00 
>sec  0.002605   134 bytes
>Template Toolkit  hello.tt553.6 33221 hits 60.01 
>sec  0.001806   136 bytes
>mod_caucho JSPhello.jsp   859.9 5 hits 58.15 
>sec  0.001163   156 bytes
>mod_include SSI   hello.shtm 1008.0 5 hits 49.60 
>sec  0.000992   136 bytes
>mod_perl handler  hello.benc  886.3 5 hits 56.42 
>sec  0.001128   134 bytes
>mod_php PHP   hello.php   750.8 45050 hits 60.00 
>sec  0.001332   163 bytes
>
>As has been noted, my static html is probably slower than yours
>relatively.  I have a dual CPU system & have most apache modules
>enabled by default, thus creating huge headers for static html.
>
>I think the dual CPU nature of my system means my system will
>spend more time waiting on SMP & network locking as the request
>rate gets faster, but I don't know much about these things, so if
>there is something to be gained here, please feel free to clarify
>how this might impact the results.
>
>--Josh
>
>_
>Joshua Chamas   Chamas Enterprises Inc.
>NodeWorks >> free web link monitoring   Huntington Beach, CA  USA
>http://www.nodeworks.com1-714-625-4051

__
Gunther Birznieks ([EMAIL PROTECTED])
eXtropia - The Web Technology Company
http://www.extropia.com/




Linux Hello World Benchmarks: +PHP,JSP,ePerl

2000-12-16 Thread Joshua Chamas

Hey,

Still very rough, the hello world benchmark suite is available
for download at: http://www.chamas.com/bench/hello.tar.gz
You may run it like:

  # to get started, see what tests will run, note you 
  # may need some CPAN modules installed to get this far
  perl ./bench.pl -test

  # to run tests for 1 minute ... shut down your programs
  # and walk away for best results.
  perl ./bench.pl -time=60 

Here are my latest results, having added Resin/caucho/JSP
with a J2RE 1.3.0 IBM java engine, which other benchmarks 
say is the fastest java on linux overall, & from previous
testing resin seems the fastest JSP. 

I changed the SSI tests to look more like the others, which 
also sped them considerably.  Finally, I added tests for PHP, 
mine is 4.0.3, & ePerl.

Test Name Test File  Hits/sec   Total Hits Total Time sec/Hits   
Bytes/Hit  
  -- -- -- -- -- 
-- 
Apache::ASP   hello.asp   414.3 24857 hits 60.00 sec  0.002414   179 
bytes  
Apache::Dispatch handler  hello/worl  689.5 41375 hits 60.01 sec  0.001450   134 
bytes  
Apache::Registry CGI Raw  hello_raw.  725.2 43514 hits 60.00 sec  0.001379   52 
bytes   
Apache::Registry CGI.pm   hello.reg   491.5 29492 hits 60.00 sec  0.002035   154 
bytes  
Apache::SSI   hello.shtm  584.6 35080 hits 60.01 sec  0.001711   137 
bytes  
Apache::ePerl hello.eper  359.8 21588 hits 60.00 sec  0.002780   155 
bytes  
HTML static   hello.html 1195.2 5 hits 41.83 sec  0.000837   249 
bytes  
HTML::Embperl hello.epl   510.8 30647 hits 60.00 sec  0.001958   158 
bytes  
HTML::Mason   hello.mas   383.8 23030 hits 60.00 sec  0.002605   134 
bytes  
Template Toolkit  hello.tt553.6 33221 hits 60.01 sec  0.001806   136 
bytes  
mod_caucho JSPhello.jsp   859.9 5 hits 58.15 sec  0.001163   156 
bytes  
mod_include SSI   hello.shtm 1008.0 5 hits 49.60 sec  0.000992   136 
bytes  
mod_perl handler  hello.benc  886.3 5 hits 56.42 sec  0.001128   134 
bytes  
mod_php PHP   hello.php   750.8 45050 hits 60.00 sec  0.001332   163 
bytes  

As has been noted, my static html is probably slower than yours
relatively.  I have a dual CPU system & have most apache modules
enabled by default, thus creating huge headers for static html.

I think the dual CPU nature of my system means my system will
spend more time waiting on SMP & network locking as the request 
rate gets faster, but I don't know much about these things, so if 
there is something to be gained here, please feel free to clarify
how this might impact the results.

--Josh

_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051



Re: Linux Hello World Benchmarks...

2000-12-11 Thread Joe Schaefer

Joshua Chamas <[EMAIL PROTECTED]> writes:

> Joe Schaefer wrote:
> > 
> > IME, simple mod_perl handlers typically run around 50% as fast as
> > HTML static pages.  Your hello world benchmark seems to be slightly
> > misleading in this respect, since the content-length is small
> > relative to the header size.
> > 
> 
> I'll send you my benchmark suite separately so you can
> submit your results for http://www.chamas.com/bench.  I have
> never seen modperl handler faster than static HTML.

Me neither - what I said was that modperl handlers are about twice
as slow as static pages.  That's what I meant, but I guess didn't
make it clear.

Best.
-- 
Joe Schaefer



Re: Linux Hello World Benchmarks...

2000-12-11 Thread Joshua Chamas

Joe Schaefer wrote:
> 
> IME, simple mod_perl handlers typically run around 50% as fast as
> HTML static pages.  Your hello world benchmark seems to be slightly
> misleading in this respect, since the content-length is small
> relative to the header size.
> 

I'll send you my benchmark suite separately so you can
submit your results for http://www.chamas.com/bench.  I have
never seen modperl handler faster than static HTML.

> For your HTML Static, I would guess that the headers delivered are
> significantly larger than the ones returned by your modperl handler.
> Hence for 5 hits, there is a significant discrepancy in the
> total bytes delivered.  This skews the hits/sec numbers in the
> favor of content handlers that deliver shorter headers.
> 

Yes, each environment delivers different headers, but that's
just what they do.  The Hello World test is to show the 
overhead of running in a particular environment.  Generally
people only add code from there, and not optimize HelloWorld
further.

-- Josh

_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051



Re: Linux Hello World Benchmarks...

2000-12-11 Thread Joe Schaefer

Joshua Chamas <[EMAIL PROTECTED]> writes:

> RESULTS:
> 
> [hello]# ./bench.pl -time=60
> ...
> Test Name Test FileHits/sec Total Hits   Total Time   Total 
>Bytes  
>       
> 
> HTML Static   hello.html   1211.6   5 hits   41.27 sec
>12450249 byt 
> ModPerl Handler   hello.bench   888.9   5 hits   56.25 sec
>6700268 byte 
[...]

IME, simple mod_perl handlers typically run around 50% as fast as 
HTML static pages.  Your hello world benchmark seems to be slightly 
misleading in this respect, since the content-length is small 
relative to the header size.

For your HTML Static, I would guess that the headers delivered are
significantly larger than the ones returned by your modperl handler.
Hence for 5 hits, there is a significant discrepancy in the 
total bytes delivered.  This skews the hits/sec numbers in the
favor of content handlers that deliver shorter headers.

To use HTML Static as a baseline comparison for dynamic content 
handlers, I think you should ensure that the headers delivered
are comparable to those that are dynamically generated.

Best.
-- 
Joe Schaefer



Re: Linux Hello World Benchmarks...

2000-12-11 Thread Joshua Chamas

"Alexander Farber (EED)" wrote:
> 
> Hi Joshua,
> 
> you sort the table at http://www.chamas.com/bench/ by Hits/s,
> but the ModPerl Handler was tested on PIII-500 x 2 and the Java
> thingies below - only PII-266.
> 
> Is it an intended joke or do I misunderstand something?
> 

The first page is marked "for fun" because there are no relevant
sortings that you can do between systems & benchmarkers, as there
are too many variables.  Its sorted by speed to encourage people
to submit new results with their shiny new GHz CPUs.

You can try to derive some real meaning from tests done on
the same system by the same person using the same methodology ... 
for these go to 

  http://www.chamas.com/bench/hello_bysystem.html

--Josh

_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051



Re: Linux Hello World Benchmarks...

2000-12-11 Thread Alexander Farber (EED)

Hi Joshua,

Joshua Chamas wrote:
> Note, this is the first benchmark that I've run of Apache::ASP on
> Linux, which is nice to see because Linux is one of the faster OS's,
> and it now looks bit more of a player, compared to what's listed at
> http://www.chamas.com/bench/ when I benched it on Solaris x86.

you sort the table at http://www.chamas.com/bench/ by Hits/s, 
but the ModPerl Handler was tested on PIII-500 x 2 and the Java
thingies below - only PII-266.

Is it an intended joke or do I misunderstand something?

Regards
Alex



Re: Linux Hello World Benchmarks...

2000-12-11 Thread Joshua Chamas

Gunther Birznieks wrote:
> 
> Then it seems odd that there is such a huge discrepency between CGI.pm and
> no CGI.pm. If you preload CGI.pm in startup.pl does the difference go away?
> 

I did preload CGI.pm.  I'll send you the hello world
suite separately since you seem curious.  Note that at 500
requests / second, the difference of 50 requests / sec is
really 1/500 - 1/550 = .00018 CPU seconds.  The point is
that as these systems get more efficient, minor differences
in performance seem to make more of a difference.  

The same .0018 CPU sec at 100 hits/sec would only make 102 
hits / sec.

--Josh



Re: Linux Hello World Benchmarks...

2000-12-11 Thread Gunther Birznieks

Then it seems odd that there is such a huge discrepency between CGI.pm and 
no CGI.pm. If you preload CGI.pm in startup.pl does the difference go away?

At 02:56 AM 12/11/2000 -0800, Joshua Chamas wrote:
>Gunther Birznieks wrote:
> >
> > Is CGI Raw decoding the get/post yourself? Or using the Apache::args,
> > Apache::Request::param mechanism?
> >
>
>In the hello world scripts, there is no get/post processing as
>part of the benchmark.  Here's the code that's run:
>
>   http://www.chamas.com/bench/#perlrawcgi
>
>The general language scripts are at http://www.chamas.com/bench/
>and are also in the hello.tar.gz bundle that I could send.
>The bundle also has the app configs in bench.pl.  Its a whole 8K
>gzipped though, and I'm afraid Ask would hurt me if I posted it ;)
>
>-- Josh
>
>_
>Joshua Chamas   Chamas Enterprises Inc.
>NodeWorks >> free web link monitoring   Huntington Beach, CA  USA
>http://www.nodeworks.com1-714-625-4051

__
Gunther Birznieks ([EMAIL PROTECTED])
eXtropia - The Web Technology Company
http://www.extropia.com/




Re: Linux Hello World Benchmarks...

2000-12-11 Thread Matt Sergeant

On Mon, 11 Dec 2000, Joshua Chamas wrote:

> Lastly, I was unable to get AxKit to run without segfaulting ...

http://axkit.org/faq.xml

Either you're running PHP on that server, or you have an Apache with expat
included. Do "nm /path/to/apache/bin/httpd | grep -i XML" to find out if
the latter is true.

-- 


/||** Director and CTO **
   //||**  AxKit.com Ltd   **  ** XML Application Serving **
  // ||** http://axkit.org **  ** XSLT, XPathScript, XSP  **
 // \\| // ** Personal Web Site: http://sergeant.org/ **
 \\//
 //\\
//  \\




Re: Linux Hello World Benchmarks...

2000-12-11 Thread Joshua Chamas

Gunther Birznieks wrote:
> 
> Is CGI Raw decoding the get/post yourself? Or using the Apache::args,
> Apache::Request::param mechanism?
> 

In the hello world scripts, there is no get/post processing as
part of the benchmark.  Here's the code that's run:

  http://www.chamas.com/bench/#perlrawcgi

The general language scripts are at http://www.chamas.com/bench/
and are also in the hello.tar.gz bundle that I could send.
The bundle also has the app configs in bench.pl.  Its a whole 8K 
gzipped though, and I'm afraid Ask would hurt me if I posted it ;)

-- Josh

_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051



Re: Linux Hello World Benchmarks...

2000-12-11 Thread Gunther Birznieks

Is CGI Raw decoding the get/post yourself? Or using the Apache::args, 
Apache::Request::param mechanism?


At 02:13 AM 12/11/2000 -0800, Joshua Chamas wrote:
>Hey,
>
>I have automated a portable Hello World test suite, but its not
>CPAN ready, so if any would like to contribute, run, and comment
>on the sources, give me a holler & I'll send them to you.  What
>it does is fire up a lean apache on a high port with only the
>config necessary to run the benchmark.




Linux Hello World Benchmarks...

2000-12-11 Thread Joshua Chamas

Hey,

I have automated a portable Hello World test suite, but its not
CPAN ready, so if any would like to contribute, run, and comment
on the sources, give me a holler & I'll send them to you.  What
it does is fire up a lean apache on a high port with only the 
config necessary to run the benchmark.

RESULTS:

[hello]# ./bench.pl -time=60
...
Test Name Test FileHits/sec Total Hits   Total Time   Total 
Bytes  
      
 
Apache::ASP   hello.asp 416.9   25016 hits   60.00 sec4478401 
byte 
Apache::Registry CGI Raw  hello_raw.re  736.9   44214 hits   60.00 sec2299284 
byte 
Apache::Registry CGI.pm   hello.reg 501.3   30080 hits   60.00 sec4632628 
byte 
HTML Static   hello.html   1211.6   5 hits   41.27 sec12450249 
byt 
HTML::Embperl hello.epl 510.7   30647 hits   60.01 sec4843016 
byte 
HTML::Mason   hello.mas 382.2   22934 hits   60.00 sec3086640 
byte 
ModPerl Handler   hello.bench   888.9   5 hits   56.25 sec6700268 
byte 
Template Toolkit  hello.tt  181.6   10895 hits   60.01 sec1481992 
byte 

**AxKit --> need someone to run benchmark suite with this working

Apache::ASP v2.07
HTML::Embperl 1.3.0
HTML::Mason 0.89
Template Toolkit 2.0
mod_perl 1.24
apache 1.3.14
linux 2.2.14
PIII 450x2
localhost interface

Note, this is the first benchmark that I've run of Apache::ASP on 
Linux, which is nice to see because Linux is one of the faster OS's,
and it now looks bit more of a player, compared to what's listed at
http://www.chamas.com/bench/ when I benched it on Solaris x86.

Also, Mason seems to have improved significantly since I last
benched it.  Good job Jonathan.  

Lastly, I was unable to get AxKit to run without segfaulting ...
I had wanted to get at least a XPathScript benchmark, and maybe
Sablotron driven XSLT.  The simple XSLT hello world is at
http://www.chamas.com/bench/#xml.  The XPathScript HelloWorld
that I came up with was: <% print "Hello "; %>World  ... but
maybe it should have been more like the XSLT hello world?

-- Josh
_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051