The test server had following specifications:
- 1GHz P3 Processor
- 512MB RAM
- Windows Server 2003
- SQL Server 2000
To test the page, I used Application Center Test (ACT), running locally. Everything in this test is running on one box, which I realize has some implications as far as where the bottlenecks in performance will occur. During all tests the CPU was maxed out, indicating that increased performance could have been achieved with a more powerful box and/or by splitting the work between several servers. However, the point of this test was not to achieve the maximum performance possible for this trivial example--it was to measure the effects of a small amount of caching on a simple but high-volume application.
The test script consisted of a single request to my default.aspx page. The script was constructed to use three simultaneous users for five minutes with thirty seconds of "ramp-up" time (to ensure the app had compiled and the sql server was awake and running full speed). ACT, unlike other tools such as LoadRunner, does not let you add "think time" between users' requests without editing the vbscript by hand, so although there are only three users, they are hammering the server because there is no delay between the completion of one of their requests and the initiation of their next request.