Welcome!

Symbian Authors: David Deans, David Weinberger, Carmen Gonzalez, John Funnell, Lars Hartkopf

Related Topics: Symbian, Virtualization

Symbian: Article

How to Manage Application Performance and Load Testing in Virtual Environments

Eliminating the real-world constraints on application performance testing with virtualized services

Gone are the days when you could test an interface to a single client/server app and know that you have performance covered. Today's interconnected systems such as fully integrated packaged applications, ESB-based enterprise platforms, and SOA make ensuring high-performance from application components and solutions increasingly difficult. On top of that complexity, we are increasingly supporting technologies that are built and managed by distributed teams, both across organizational and geographic boundaries.

High-performance applications are critical to today's business. Clearly operations teams must properly monitor production-ready systems to validate adherence to performance goals and Service Level Agreements (SLAs). But frankly, these operational monitors are often merely a postmortem of the work that takes place in development cycles. It is expensive or impossible to scale systems not built to high-performance standards from their outset in design and development.

The common practice of validating and tuning the performance of your applications in pre-production is when you have the worst ability to actually make any improvement in performance. This article describes the dynamic behind this maxim, and demonstrates how employing virtualization (with a virtual service environment) offers a solution to the load and performance testing team.

Current Performance Management Strategies
Most organizations have taken a Center of Excellence (CoE) approach, with a test lab and team dedicated to load and performance testing. They use market-leading tools that have been at work for over a decade like HP/Mercury's LoadRunner or Borland's SILKPerformer.

Generally, the CoE is tasked with testing nearly completed applications that are submitted for performance review and tuning. These applications are load tested via their user interface almost exclusively.

There are valid reasons why performance testing labs traditionally adopted this approach:

  • Performance lab platforms require high investment. The cost of licensing and provisioning the test environment requires centralization for more cost-effective shared use of this asset across teams.
  • Load testing tools require significant staff expertise to configure and employ. The process of maintaining and consistently executing performance tests requires coding skills, a broad understanding of the application environment, and knowledge of how to best interpret the resulting metrics.
  • Measuring at the user interface layer historically mapped best to what actual users saw in the performance of the application under test, especially in a client/server or monolithic environment delivered by a single vendor.

More Stories By John Michelsen

John Michelsen is the founder & chief architect of iTKO's LISA automated testing product and a leading industry advocate for software quality, learned through leading countless large-scale enterprise development projects. Before forming iTKO, John was CTO at Trilogy Inc., and VP of development at AGENCY.COM.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.