Summary: First, I'll speak in the context of a single instance of Rocket. I'll talk about pound in a bit.
ApacheBench, which I used to test Rocket, unfairly accentuates the benefits of Rocket. httperf allows for a much fairer test. The httperf configuration that Kuba used tested a non-standard situation (while applicable to a project he's working on) that accentuates a known weakness of Rocket over Cherrypy. Even though the single-instance test was inconclusive the multi-instance test implied that Rocket would be slower in the single instance. Because my tests and Kuba's tests focused on polar opposite situations, the numbers were different. Nicholas Piel tested version 1.0.1 which did not include epoll support so his initial conclusions, while correct for the time, are no longer accurate. The difference in situations revolves around how many HTTP requests are pipelined over a single connection. ApacheBench puts them all in a few connections, httperf allows for configuring this. Kuba's benchmark settings put one request per connection. A real-world setting is something around 10, which Nicholas Piel uses. Kuba released another round of tests that follow Nicholas Piel's HTTP/1.1 tests (10 requests per connection). The results showed Rocket as performing slightly faster. Now, let's talk about pound. I've not used pound for any tests before so this was all new information to me. The first test showed 4 instances of Rocket behind pound to be slower than 4 instances of Cherrypy behind pound on a Quad-core machine. There are several possible explanations for this. All of the explanations require more development on Rocket to work around. The difference in performance would not be a show-stopper for me, but others may disagree. I've asked Kuba to retest 4xRocket vs. 4xCherrypy with the second test configuration. Vasile Ermicioi, put in a vote for Rocket to be included in web2py because I'm in the web2py community and there is still plenty of room for Rocket to be optimized (which I noted). Now you're up-to-date. -tim -----Original Message----- From: "mdipierro" <mdipie...@cs.depaul.edu> Sent: Friday, March 19, 2010 9:01pm To: "web2py-users" <web2py@googlegroups.com> Subject: [web2py] Re: benchmarking: rocket vs pound with four rockets had a long day, can somebody provide an execute summary of all the tests? On Mar 19, 3:33 pm, Timothy Farrell <tfarr...@swgen.com> wrote: > Thank you Kuba. Would you mind re-running the 4x pound test like this also? > > On 3/19/2010 3:09 PM, Kuba Kucharski wrote: > > > One instance of each, with 10 calls in a connection as it is closer to > > reallife scenario: > > (numbers speak for themselves) > > > CHERRYPY: > > > r...@kubatron:/home/kuba/httperf-0.9.0/src# ./httperf --hog --server > > 192.168.0.1 --port=8000 ==uri=/vae/default/benchmark2 > > --num-conns=10000 --num-calls=10 > > httperf --hog --client=0/1 --server=192.168.0.1 --port=8000 --uri=/ > > --send-buffer=4096 --recv-buffer=16384 --num-conns=10000 > > --num-calls=10 > > > Maximum connect burst length: 1 > > > Total: connections 10000 requests 100000 replies 100000 test-duration > > 67.659 s > > > Connection rate: 147.8 conn/s (6.8 ms/conn,<=1 concurrent connections) > > Connection time [ms]: min 6.2 avg 6.8 max 10.5 median 6.5 stddev 0.2 > > Connection time [ms]: connect 0.1 > > Connection length [replies/conn]: 10.000 > > > Request rate: 1478.0 req/s (0.7 ms/req) > > Request size [B]: 64.0 > > > Reply rate [replies/s]: min 1474.7 avg 1478.0 max 1480.3 stddev 2.0 (13 > > samples) > > Reply time [ms]: response 0.6 transfer 0.0 > > Reply size [B]: header 205.0 content 66.0 footer 2.0 (total 273.0) > > Reply status: 1xx=0 2xx=0 3xx=100000 4xx=0 5xx=0 > > > CPU time [s]: user 25.67 system 41.99 (user 37.9% system 62.1% total 100.0%) > > Net I/O: 483.5 KB/s (4.0*10^6 bps) > > > Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0 > > Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0 > > > ROCKET: > > > r...@kubatron:/home/kuba/httperf-0.9.0/src# ./httperf --hog --server > > 192.168.0.1 --port=8000 ==uri=/vae/default/benchmark2 > > --num-conns=10000 --num-calls=10 > > httperf --hog --client=0/1 --server=192.168.0.1 --port=8000 --uri=/ > > --send-buffer=4096 --recv-buffer=16384 --num-conns=10000 > > --num-calls=10 > > Maximum connect burst length: 1 > > > Total: connections 10000 requests 100000 replies 100000 test-duration > > 64.760 s > > > Connection rate: 154.4 conn/s (6.5 ms/conn,<=1 concurrent connections) > > Connection time [ms]: min 5.9 avg 6.5 max 72.7 median 6.5 stddev 1.0 > > Connection time [ms]: connect 0.1 > > Connection length [replies/conn]: 10.000 > > > Request rate: 1544.2 req/s (0.6 ms/req) > > Request size [B]: 64.0 > > > Reply rate [replies/s]: min 1526.9 avg 1544.2 max 1555.9 stddev 8.6 (12 > > samples) > > Reply time [ms]: response 0.6 transfer 0.0 > > Reply size [B]: header 216.0 content 66.0 footer 0.0 (total 282.0) > > Reply status: 1xx=0 2xx=0 3xx=100000 4xx=0 5xx=0 > > > CPU time [s]: user 24.18 system 40.58 (user 37.3% system 62.7% total 100.0%) > > Net I/O: 521.8 KB/s (4.3*10^6 bps) > > > Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0 > > Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0 -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en. -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.