[Lispweb] How well Araneida reacts to stress
Alan Shields
Alan-Shields at omrf.ouhsc.edu
Wed Oct 5 19:58:16 CDT 2005
Using the unit test server and siege, I set up benchmark.sh to test
how well Araneida would hold up under repeated queries.
I will say that the threaded SBCL server reacts much better than the
serve event server to high concurrency. It does, however, tend to
seriously wig out in highly interesting ways at said high concurrency.
50 continuous concurrent clients seems to be about the limit before
you start tempting fate.
serve-event will continue serving without throwing conditions, but it
will be very slow.
The threading seems to have issues with the repeated compile calls in
the test suite - wrapping them in a mutex reduces most of the issues,
but not all of them.
Here are the stats for 5 minutes of 50 concurrent clients with random
delays between requests between one second and 3.
Transactions: 29582 hits
Availability: 100.00 %
Elapsed time: 300.03 secs
Data transferred: 3405777 bytes
Response time: 0.00 secs
Transaction rate: 98.60 trans/sec
Throughput: 11351.45 bytes/sec
Concurrency: 0.42
Successful transactions: 29588
Failed transactions: 0
Longest transaction: 0.43
Shortest transaction: 0.00
Don't pay too much attention to the throughput numbers, the tests
transmit very little text. The transactions-per-second is the one to
look at.
Tonight I'll run a reasonable web server load test overnight on the unit
test server: 30 simultaneous clients with random delays between one
second and three, for 16 hours.
This is using testing, not stable.
Remember: if you're expecting a bunch of traffic, the way to go is to
put Squid in front of Araneida. That's true even for Apache.
Alan
More information about the lispweb
mailing list