How do we determine if software is a success? For server based applications, success could mean more load, either as a web app or a client-server application. As the numbers of end users grow, the load on a server often increases substantially. Hence it becomes crucial to address the scalability challenges of the software to meet the rapidly growing need.
Most scalability flaws are deep in the architecture, which are very hard and expensive to change later. The quick and easy fix is to add more servers. However, by including more servers, one can hit diminishing returns very quickly, unless the software is designed to scale that way. So, is there a magical way to determining how much software can scale up?
This paper talks about the scalability of client-server software, which is common in an enterprise environment. Here we want to stress the importance of performing scalability tests on any client server application by creating a simulated environment. We are going to address some key questions that arise during the process, like:
- What should be covered in scalability testing? What is the target?
- How to determine is the scalability limit?
- How to identify scalability bottleneck?
- How to determine if the test results are complete and testing should stop?
Target audience: Introductory