08 4 / 2008
Post test monitoring in virtual environments [tools/process]
In an earlier post, I identified some of the basics behind configuring a few monitors that would benefit the overall tracking of your servers under test. This type of monitoring provides you with the breathing room you need to ensure that the conditions of your server are being measured well during your load, or stress tests; but what times you may need better application measurement tools to aid your progress, especially in virtual environments. The original monitoring process I focused on previously still have merit in virtual environments, but other monitors (application performance management) may help later on to identify usage patterns, and potential application bottlenecks in post. I did a little scouting around to find some resources that could help mitigate this need.
Virtual Environments
In our IT realm, more and more applications are migrating to virtual environments, where they are appointed CPU, disk and memory slices on one physical environment. With this appointment of vitals resources, applications are unaware of how much of the shared environment exists for their conditions and needs, especially when QA testers begin hammering away at it’s core. After all of the testing is complete, unforeseen performance issues may arise due to possible issues that were not identified by both the development and QA teams. Unfortunately, some of these issues may arise from unidentified user actions, or configuration issues that lead to memory utilization issues. So how can we trap these issues?
Application Performance Management Toys
Here is a hot list of some of the Application Performance Management tools I have found that work with a variety of application servers. The last on this list is PushToTest – which is my favorite, since it works hand in hand with QA testers.
The pitch
dynaTrace Diagnostics is much more than a traditional application performance management solution limited to monitoring application uptime and service-level fulfillment, raising alarms when problems are detected and identifying their symptoms. In contrast, dynaTrace’s PurePath Technology® provides for the first time an easy and repeatable way to identify the true root cause of performance problems in distributed, heterogeneous Java and .NET applications down to code-level - in both load testing and 24x7 production
Link: dynaTrace white papers
The pitch
The biggest challenge with monitoring complex composite applications today is knowing what to monitor, how much to monitor and how to interpret the metrics. Without understanding the contextual relationships between the application services and the code components that deliver those services, it is impractical to expect IT to address this challenge. Not to mention, IT will definitely have difficulty:
- quickly pinpointing the root-cause of a performance bottleneck
- accurately reporting on service levels of application services without sacrificing breadth (across containers) or depth (deep within containers)
- proactively anticipating capacity needs and tuning requirements
Open Source Tools
The pitch
The pitchThe Glassbox troubleshooter is an automated troubleshooting and monitoring agent for Java applications that diagnoses common problems with one-click. Drop it onto your existing Java Application Server (Tomcat, JBoss, WebSphere, WebLogic), either in production or testing. Because Glassbox’s troubleshooting knowledge is built in, anyone can isolate a failing connection or a slow-running query instantly. It adapts to your application and pinpoints your errors or performance issue in plain English, and you no longer need to wade through log files and graphs.
PushToTest is open-source test automation for software developers, QA testers, and IT management to test, monitor, and govern information systems. At any given time new software needs to be installed, existing software modules and database software need to be patched, application software and databases need to be tuned and optimized, and the root-causes of crashes, downtime and performance bottlenecks need to be analyzed and resolved quickly.
Software developers use PushToTest to turn their unit tests into functional tests in a test automation platform running on their development machine. PushToTest TestMaker includes Wizards and Recorders to automatically build tests without writing test script code. And for tests that need functions available through scripting, PushToTest TestMaker provides native support for all the popular scripting languages, including Java, Jython, Groovy, PHP, Ruby, and many others. Plus PushToTest supports SOA, Web Service, AJAX, and REST services using HTTP, HTTPS, SOAP, XML-RPC, Telnet, and the email protocols.
The PushToTest test runtime environment automatically turns these same functional unit tests into load tests, scalability and performance tests, regression tests, and service monitors for QA technicians, IT operations managers, and CIOs. PushToTest test runtime load tests and service monitors integrate into Service Registry/Repository products, database and application performance optimization, and root-cause analysis tools.


