Software Scalability


Scalability is the concept that a web application should never be overwhelmed by the number of visitors it receives. In terms of auction software, bidders should never see a delay in their page loading because the number of bidders using the software is too much for the server to handle. In auction software, even a few seconds of delay to a bidder can be hazardous - it's flat out unacceptable. Auction software should work as well for 5 bidders as it does for 500 bidders.

Optimal Auctions software is the most scalable auction software in the industry. How do we know this? Because our software can support an unlimited number of bidders. There's no way anyone can beat unlimited, right?

In fact, we have analyzed the underlying technology behind our competitors software and found many of their software products cannot be scaled much beyond 250 bidders. They are limited to running their auctions on a single server. This is just a hard limit on their software. At Optimal Auctions, our software will not limit your auction design or the number of bidders participating in the auction.

Our software can be "scaled out horizontally" to support as many bidders as our clients need. Scaling out horizontally is the industry-term to describe how a software application can be grown to support more and more users. Scaling out simply means adding new servers as needed. Horizontally is just the layout of the growth, when viewed from a platform architecture. This can be seen in the diagram below.

Horizontal Scaling

Based on our extensive performance and scalability testing, we have determined that one single server can support 300 bidders. Most auctions that our clients run have far fewer than 300 bidders, so we can run their auctions on only 1 server. However, if a client has more than 300 bidders, then we can begin to add more servers to support the additional bidders, and ensure that their page loads are quick. Our goal in terms of software scalability is to have our software perform equally well with 20 bidders as it does with 2,000 bidders.

Based on these metrics, it should be easy to estimate how many servers will be required for any client's auction. For example, any auction with less than 300 bidders will only require 1 server. An auction that has 500 bidders will require 2 servers. Likewise, an auction with 2,000 bidders will require 7 servers.

There's a huge advantage to knowing ahead of time how our software scales with bidders. This allows us to quickly and easily scale the auction ahead of time with a minimal amount of testing required. This means cheaper solutions for our clients, especially clients running larger auctions. Compare our methodology with those of our competitors (the competitors that can run their auctions on more than 1 server). We can immediately tell a client how many servers will be needed in their auction and give them an accurate price quote for the hardware required. Our competitors will need to run their software through scalability tests to determine how many servers they will need - this adds to their costs, for testing overhead, and means the potential client won't get an accurate price quote for hardware until after the contract is signed.

Our Scalability Test Results

We ran our software through an online scalability test tool, one that creates virtual bidders. This lets us test our software in extreme situations, situations above and beyond even those we would see in a real auction. We wanted to test our software to the extreme limits, so we ran one of our more difficult auction designs on one server, with 500 bidders! Yes, that's above our recommended 300 bidders per server, but we wanted to put a real level of stress on our system and see how it did. Below are the results of our scalability test.

(Click on image to see larger version)

The key take-aways from this chart are that even under these extreme conditions, our software performed really well. When 400 bidders were hitting the server at the same time, the software could respond to them in less than 1.8 seconds. 1.8 seconds! Even at its peak, we could still handle up to 379 bidders without errors. Of course, once we had 500 bidders hitting the server, we started to see errors, but this isn't a surprise, given that we've pushed our software to extremes for the express purpose of finding its breaking point.

This is how we are able to so accurately estimate how many servers are needed for our auctions. Our extensive scalability tests have shown us that our software can handle almost 400 bidders without issues. When we safely dial that back to our general rule of 300 bidders per server, we can feel 100% confident that we will host your auctions successfully. Whether you have 5 bidders or 5,000 bidders, you can feel confident that Optimal Auctions will be able to give them the best auction experience possible.