Inspired by this post :
http://dosync.posterous.com/22397098 I tried
benchmarking Aleph on my two machines: a MacBook 2.4 Ghz Intel Core
Duo and a Dell Studio XPS Intel Core i7 2.8 Ghz running Ubuntu 10.04.
I ran the hello-world example described here
http://wiki.github.com/rje/aleph/hello-world-with-aleph.
I get the expected "Hello world!" response in my browser when visiting
127.0.0.1:8080 and the same using curl from the command line.
I tried benchmarking the code with Apache Bench using the following
command:
ab -n 5000 -c 50
http://127.0.0.1:8080/
On both machines this results in (after a bit of waiting):
apr_poll: The timeout specified has expired (70007)
So I tried siege instead using:
siege -b -r 5000 -c 50 localhost:8080/
Here the result is slightly more interesting. On the MacBook the
bechmark runs a while (30-40 secs) and then spits out a string of:
warning: socket: -1341648896 select timed out: Operation timed out
When I break with ^C I get:
Lifting the server siege... done.
Transactions: 0 hits
Availability: 0.00 %
Elapsed time: 42.99 secs
Data transferred: 0.00 MB
Response time: 0.00 secs
Transaction rate: 0.00 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 0.00
Successful transactions: 0
Failed transactions: 50
Longest transaction: 18588871729648130931857277272981504.00
Shortest transaction: 0.00
On the Dell doing the same I get a string of successful transactions
and then:
Error: socket: -350578928 address is unavailable.: Cannot assign
requested address
done.
Followed by:
siege aborted due to excessive socket failure; you
can change the failure threshold in $HOME/.siegerc
Transactions: 28080 hits
Availability: 96.32 %
Elapsed time: 10.68 secs
Data transferred: 0.67 MB
Response time: 0.02 secs
Transaction rate: 2629.21 trans/sec
Throughput: 0.06 MB/sec
Concurrency: 44.25
Successful transactions: 28080
Failed transactions: 1073
Longest transaction: 0.95
Shortest transaction: 0.00
Any idea what is going on?