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
