In my last article, I wrote about the paradigm shift in web application architecture and why performance testers have to re-think their strategy around testing Rich Internet Applications (RIA) for performance. Web application development processes and user expectations continue to grow by leaps and bounds. Sadly, the techniques and approaches employed to test those applications have not kept up with the same growth rate. But the good news is that newer tools are coming up and methodologies are being defined to close in on that gap. Hence, it is essential that performance testers make use of them at every phase of the performance testing lifecycle.   Early on in the performance testing lifecycle, testers gather requirements and collecting application usage statistics is typically one of the primary tasks. In this article, I will explain how “Web Analytics tools” can be a great source of information to gather historical data about the application usage and user behavior.

  

Traditional Web Server Log Approach


Traditionally, performance testers have been relying on the web server log files to collect historical application usage data. A web server log was and still is a great source of information. They contain enormous data on web usage activity and server errors. Downloading log files from the web server and running report generation tools will help testers get meaningful info out of them. However, web server logs have their limitations. For example,

  • Usage data contained in the web server logs do not include most “page re-visits” due to browser caching. For e.g. If a user re-visits a page, no request is received by the web server as the page is retrieved from browser cache. 
  • 
While data contained in the Web server logs can provide insights into system behavior, it does not help much in understanding “user/human behavior”. 
  • 
Web server logs do not provide user’s geographical info, the browser they used and the device/platform they accessed the application from. All of which are vital metrics to understand user behavior on the application. 

While Web Server log files are still a great way to measure user statistics, new ways to measure web traffic have propped up that provide information from a user-perspective rather than a system perspective. A large number of organizations are implementing what is called “Web Analytics Tools” as part of their Web application infrastructure. For example: Industry reports suggest that Google analytics, a leading Web Analytics tool provider is used on 57% of the top 10,000 websites.

We are excited to announce a partnership with CopperEgg because they provide a product that is a perfect complement to our load testing tool. RevealCloud is a web monitoring tool that can be used for performance engineering or operations.

Many of our customers have asked if we have a tool to monitor the server-side metrics during a test. Unfortunately, we don’t. We now recommend their RevealCloud Pro product. It helps busy app developers monitor the performance and health of web applications in the cloud.

It’s easy to use and installs quickly. Please give it a try.

Here’s a cool excerpt from their site that I think concisely explains their value proposition:

If you want to focus on developing great apps instead of wasting time troubleshooting why that app is running slowly, then get RevealCloud Pro.

  • Installs in less than 10 seconds
  • Sends alerts via email or text
  • Updates every few seconds
  • Monitors the health, load, performance and capacity
  • Provides in-depth insight into performance including historical tracking
  • Supports Linux and FreeBSD, physical, virtual and cloud
  • Is viewable from ANY browser (laptop, iPhone, iPad or Android)

If you are hosting your web application in Windows Azure, here are some tips regarding monitoring your servers and application during a LoadStorm test that were provided to me from a Microsoft software engineer:

Sharing with you the steps for performance testing/bottleneck identification. Attaching all the requisite documents and counters.

Explanation of perfmon counters – http://msdn.microsoft.com/en-us/library/aa905154(SQL.80).aspx

Other tools we use:

Ways to Use Perfmon Counters Config File via Command

The Keynote Internet Testing Environment is a highly flexible and efficient framework for testing the integrity of web services. Although KITE does not perform load testing, it allows a software engineer to craft detailed test scenarios without having to dedicate significant time to programming. With its easy to use transaction builder, engineers can step through a web application as a real user would, recording their interaction with the server. This interaction, or “transaction” as it is called in KITE, can later be automatically invoked for testing purposes.

Similar Posts