Why is it complex | Overall site development life cycle
Load Balancer: Why it is important
Even though performance testing can be complex, the investment of both sufficient time and resources in this effort is well worth the expense to:
- Avoid losing revenue and customers.
Performance defects tend to be runtime defects.
Runtime defects that are discovered on live production environments impact the revenue generation capability of the site and, as such, have a direct impact on the bottom line of a business. In addition to impacting immediate revenue generation, a runtime defect may impact future revenue generation capability by discouraging customers from revisiting the site and repeating their business.
Performance runtime issues are generally not trivial to address, so you do not want to discover them on your live production environment. Runtime defects also tend to be complex-taking a long time to be fixed and impacting a large number of users or shoppers.
- Drive out defects.
Performance testing often reveals many serious defects in the areas of database deadlocks, code deadlocks, code limitations, corruption of data, and the unavailability of service.
- Ensure concurrency.
Often there are problems that occur when two threads or processes are trying to do something at the same time. These problems, referred to as timing windows, are often difficult to reproduce with normal load on the site. Stress testing helps to find such problems, as it increases the chance for encountering such timing windows.
- Ensure future quality.
Since software development is an iterative process, understanding the load limitations of the current product allows for the improvement of load capabilities for the future. This is very important, since it often finds, in advance, scaling problems that usually lead to expensive rework and redesign of the code. Understanding the problems encountered allows ample time for the planning of such redesigns.
- Do an iterative comparison.
This allows us to understand how various pieces of functionality affect concurrency and throughput. WebSphere Commerce applications can be complex and, as you add more complexity to them, the performance problems can be more elusive. By starting from simpler scenarios that use a minimal set of functions and adding more functionality with each iteration or test scenario, we can understand how each new function affects the overall performance.