|
Achieve Optimal Performance
Set application performance goals through a life-cycle commitment in which attention to response time and scalability result in better business value
by Peter Varhol
October 14, 2004
It can be hard to believe that in an era of three gigahertz servers with four gigabytes of memory, hard disks with ten millisecond access times, and gigabit Ethernet and fiber optic networks that business applications still face significant performance and scalability limitations. However, a combination of more complex and demanding applications, additional users, an increasingly complex infrastructure, and a greater need for real-time information means that faster hardware may never be the answer to maintaining satisfactory application performance.
There are two aspects to performance, both of which are separate and independent yet interrelated. The first is response time, the ability of an application to return a result or be ready for the next action by an individual user. Response time is a critical measure of the usability of an application because it must be able to keep the user active and engaged to have value in a business process.
The second part of performance is scalability, the ability of the application to service the necessary number of users while maintaining an adequate response time. Further, as users are added, response time should degrade gradually, rather than crash or prevent further activity all at once.
These performance aspects seem like simple rules that can be built in, confirmed, and managed easily in an application. What makes application performance management so difficult is that these two aspects of performance combine to touch every single part of the application, database, operating system, and infrastructure. Often each of these components by itself is optimized, yet some combinations of interactions among them can bring an otherwise normal distributed application to a crawl. Anticipating these interactions, and monitoring the application when they are unanticipated, is key to ensuring that an application meets the needs of its users and the organization.
Even with the best planning and execution, sometimes poor performance can be within the application itself, as the result of inadequate application planning, development, or testing. Or the application may have been created just fine, but it developed problems as it was maintained and enhanced over time.
Get It Together
What makes performance management so important to the enterprise is that poor user response time or inadequate scalability costs money, directly or indirectly. If the application is an e-commerce Web site, it will either turn users away during peak times, or appear unresponsive as it performs its tasks too slowly to keep the users engaged. In an internal application, it hinders workers at their jobs, making them less productive and efficient, and perhaps unable to use the application at times.
Poor performance can also be a symptom of more serious application problems. An application could perform poorly because an object leak causes it to consume increasing amounts of memory over time, or because a database call brings far too much data into the application than is necessary to satisfy a query. In these cases, poor performance stems from application defects that must be corrected.
Back to top
|