Virtual application performance testing: An art form

Virtual application performance testing: An art form

Once you prioritize which applications to virtualize, it's a good idea to test their performance. Application performance testing is the best way to learn how virtual applications will fare in your virtual infrastructure and what the end-user experience will be like.

Virtual application performance testing is exactly that -- testing. Some people consider it a science, but I think of it as an art form. You can get creative with testing to generate the best performance, but it won't exactly replicate how your virtual applications will perform in production.

Pre-testing factors: software and the users
Application performance testing is an essential part of any solid virtual application plan -- particularly for tier-one and mission-critical applications. By performing some quick load tests -- with some willing users enlisted as guinea pigs -- you can experiment with the hypervisor and the apps themselves to achieve the desired performance results.

    Requires Free Membership to View

    When you register, my team of editors will also send you the latest expert resources covering all areas of server virtualization, such as platforms, architectures and strategies, server hardware, managing virtual environments, application issues and more.

    Margie Semilof, Editorial Director

    By submitting your registration information to SearchServerVirtualization.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchServerVirtualization.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

But as you tinker with virtual applications, don't forget about user experience. If a virtualized application runs as well as it did on physical hardware (or better), you shouldn't worry too much about users' expectations.

In some cases, though, you might think twice about virtualizing an application if, as a result, it would no longer look the same on the users' end. For example, if an application is visually intensive and is not a true client-server app, but rather a simple Remote Desktop Protocol session-accessed application, a user's daily interactions with the application are most important. Virtualizing applications saves resources and space -- which is great for admins -- but it won't always benefit the user.

Finally, remember that not everyone has the luxury of a full-blown testing lab or the available users for application performance testing. Thankfully, some software manufacturers produce load-testing software from application vendors themselves to third-party providers.

Virtual application performance testing considerations
The following are some important factors to consider and questions to ask before you begin virtual application performance testing.

Host affinity. What are the application vendor requirements, if any? Can you run one application on the same host -- or even in the same Distributed Resource Scheduler or high-availability cluster -- as another application? Host affinity is a requirement in some infrastructures, and in others it just makes good sense.

Resource affinity. Again, is this a vendor requirement? It may be necessary to dedicate quantities of the core five resources -- CPU, RAM, disk, network interface cards and USB -- to ensure the best performance and support for virtual applications.

Shares and resource pools. In my experience, these resources don't enter into the equation until the end of the process, but you should consider resource quantities up front. Determine the amount of resources your guest machine and its virtual applications will use. Don't necessarily leave the hypervisor's resource allocation at the default amount. You can fine-tune shares throughout the application performance testing process to see what's best for each virtualized application.

Dedicated clusters. To improve performance and management, try forming a cluster with an isolated set of servers that host common or interacting applications.

Application stacking. With the ultrafast and capacity-heavy hosts that exist today, it's possible to stack two or three applications on one virtual server. But with bigger applications, I advise against it. Stacking can be a great thing, but it can also be a problem if virtual applications don't cooperate with one another.

Inter-application cooperation. Some applications just don't play well with others in the sandbox. We know that all too well from the physical server world. Some virtualized applications won't interact well with others on the same guest, host or cluster. And some just cannot be virtualized at all.

As you begin virtual application performance testing, create a baseline of servers and a load that's as similar as possible to what's on the physical server. It's not always possible to test virtual applications with 100% accuracy, but you should be able to get close. Also, keep in mind that some problems might emerge only after testing is done and you compare the data. If you think of application performance testing as an art, you'll find some creative ways to boost performance.

About the expert
Mike Nelson has been in IT for more than 20 years, with exposure to a very diverse field of technologies and solutions. He has devoted more than half a decade to virtualization and server-based computing. Currently, Nelson is a senior analyst at a Fortune 100 company in the U.S. Midwest.


This was first published in December 2010

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.

    Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.