JMeter proved to be the most feature-rich test platform for our purposes, so I've created a test scenario that loads the server much more heavily than we expect it to be peak-loaded in the event of a publicity splash. These are the details:
- Simultaneous threads: 20
- Ramp-up period: 20 seconds
- Loops per thread: 20
- Requests per thread: 3 (one home page, one search, and one doc retrieval with search hit highlighting)
- Total page requests: 1200
- Time to complete: 4 mins 25 secs
- Longest wait: 12 seconds
- Average: 4.25 seconds
- Mean: 4.5 seconds
- Throughput: 271 page views per minute
Admittedly this is a very simple scenario, and if Cocoon is doing any serious caching then that would factor into the situation; but in the case of XQuery pipelines (two out of three of the page views), Cocoon is not caching because it can't know that the results will be similar. Give the fact that this tests gives us nearly three times the peak throughput that I believe we need to plan for, it's very promising indeed. I will develop a more robust and varied stress test, and throw that at the system this afternoon; but for the moment, it looks as though the existing system will be more than capable of handling our publicity phase.