We have started working on the scalability of RunSignUp. This is a major project for us this summer, building on our move to the Cloud from this past winter. We have implemented a bunch of caching and other performance optimizations over the past couple of months. Users have been seeing this in increasingly fast page load times. Our site is BLAZING!
Right now we are load testing for several thousand simultaneous users all hitting the site for a race opening in another couple of weeks. Lots of tuning and behind the scenes optimizations going on.
We’ve written a couple of very nice utilities. One is a load generator. It allows us to run hundreds of simulated users going thru the process of registering for a race. The other is a deployment mechanism for our Amazon Cloud. In the test we are running right now we can spin up 4 Test machines each simulating 250 simultaneous users. And we are spinning up 10 Web Servers to handle the load. Al in a matter of minutes. A lot of fun as we make changes and see results.
The limitation of this approach is several thousand simultaneous users. So we could sell out a race of say 3-5,000 runners in 5 minutes. The issue is the efficiency of the database connections. The second part of the project will be involve a queuing system along with some client side Ajax for an awesome user experience. The goal is 50,000 runners signed up for a race in 10 minutes with a very pleasant experience.
We’ll keep you updated as we make progress!