Philippe,

First of all, thanks a lot for taking the time doing these benchmarks. I know 
you are very well placed to do these test, so I am honored you did.

Second, although this is a static page bypassing encoding, the results are very 
impressive indeed. It is still Seaside and a 16KB page. Furthermore, all 
request completed successfully with a good distribution. This makes me quite 
happy!

I do however suspect some serious hardware being used. Could you elaborate on 
the hardware, OS, VM and other details ?

Regards,

Sven

On 17 Dec 2010, at 20:52, Philippe Marschall wrote:

> On 15.12.2010 17:04, Sven Van Caekenberghe wrote:
>> I am pleased to report another milestone was reached in the Zn project.
>> 
>> The default implementation for an HTTP Server is now a multi-threaded 
>> (forking) keep-alive implementation called ZnMultiThreadedServer. It passes 
>> my initial concurrent load tests. ZnServer is now a facade. This means that 
>> all features (test server, static file server, monticello server, seaside 
>> adaptor, as well as all unit tests) are now using the new code.
>> 
>> In addition, several useful features were added to the servers, including 
>> logging and lastRequest/lastResponse debugging hooks. Extra handlers were 
>> added to ZnDefaultServerDelegate (favicon, benchmark, random) which double 
>> as examples.
>> 
>> Next up will be some benchmarking and optimalization. As always, 
>> users/testers are most welcome.
> 
> This is with the AJPFastRequestHandler from the AJP-Benchmark package
> from http://www.squeaksource.com/ajp (there are no dependencies to AJP).
> 
> ab -k -c 10 -n 10000 http://127.0.0.1:8080/fast
> This is ApacheBench, Version 2.3 <$Revision: 655654 $>
> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
> Licensed to The Apache Software Foundation, http://www.apache.org/
> 
> Benchmarking 127.0.0.1 (be patient)
> Completed 1000 requests
> Completed 2000 requests
> Completed 3000 requests
> Completed 4000 requests
> Completed 5000 requests
> Completed 6000 requests
> Completed 7000 requests
> Completed 8000 requests
> Completed 9000 requests
> Completed 10000 requests
> Finished 10000 requests
> 
> 
> Server Software:        Zinc
> Server Hostname:        127.0.0.1
> Server Port:            8080
> 
> Document Path:          /fast
> Document Length:        16294 bytes
> 
> Concurrency Level:      10
> Time taken for tests:   5.624 seconds
> Complete requests:      10000
> Failed requests:        0
> Write errors:           0
> Keep-Alive requests:    10000
> Total transferred:      164560000 bytes
> HTML transferred:       162940000 bytes
> Requests per second:    1778.08 [#/sec] (mean)
> Time per request:       5.624 [ms] (mean)
> Time per request:       0.562 [ms] (mean, across all concurrent requests)
> Transfer rate:          28574.28 [Kbytes/sec] received
> 
> Connection Times (ms)
>              min  mean[+/-sd] median   max
> Connect:        0    0   0.0      0       0
> Processing:     0    6  17.1      1     155
> Waiting:        0    6  17.1      0     155
> Total:          0    6  17.1      1     155
> 
> Percentage of the requests served within a certain time (ms)
>  50%      1
>  66%      1
>  75%      1
>  80%      1
>  90%     15
>  95%     44
>  98%     70
>  99%     89
> 100%    155 (longest request)
> 
> Not too shabby.
> 
> Cheers
> Philippe

Reply via email to