There are many tools available to report on volumetric information for an application or a website. When we talk about volumetric analysis, we are attempting to use tools or use logs to determine the amount of traffic which is being put through a particular system.
Depending on the application, volumetric information may be available through a nice, easy to use application or only via the output of a system log which may only be able to be analysed by writing a program to process the file. With this type of analysis, we can design a performance test to replicate this kind of activity, which means that any performance testing we do is a fair reflection of production activity.
The advantage of a proper tool is that it is quicker to use and information can be checked and cross referenced for a high degree of accuracy. System log files which are not designed to provide volumetric information can also provide a high degree of accuracy, you just have to be prepared to spend a lot more time extracting volumetric information from them.
VOLUMETRIC ANALYSIS APPROACH
When carrying out volumetric analysis, it can be tackled in a number of ways, here is an approach I like to use, although of course, circumstances can dictate that variations will be necessary on occasions.
a). Identify peak month, peak week, peak day and peak hour workloads in terms of concurrent users and pages hits.
This is appropriate when an application has smooth peaks and troughs where the workload slowly builds up during a period, peaks and gradually declines back to the trough. Some applications may have 2 or 3 peaks and troughs through the course of the day. A ticket agency is a good example have extreme peaks that may last an hour or so for instance when tickets for a popular band go on sale at 9:00 on a Friday morning. To get the best seats, you need to hit the site as soon as it opens.
b). Identify the highest volume page displays for the peak hour identified.
Often the highest volume page will be the home page which is often the landing page. This is not always the case, for instance, when searching for a news item, a user may go via the search engine directly to the page of interest, bypassing the home page altogether.
c). Analyse the highest volume page displays and try to determine how those functional areas are used. The objective is to attempt to build user journeys or business flows.
d). Not all the functionality can be automated, however, it is important to use the automation available to generate peak hour page hits for all functions.
This may mean that peak hour volumes for some pages exceed what really occurs in reality, but will mean that the overall workload in terms of numbers matches the observed application peaks.
Update and search functions can be heavy resource users so it can often be an idea to take an enquiry type function with an average resource usage and increase the workload disproportionately for that one function. A table may help explain.
Function 1 - 2,500 (Page Hits Prod) / 2,500 (Page Hits Performance)
Function 2 - 2,500 (Page Hits Prod) / 2,500 (Page Hits Performance)
Function 3 - 2,500 (Page Hits Prod) / 2,500 (Page Hits Performance)
Function 4 - 2,500 (Page Hits Prod) / 2,500 (Page Hits Performance)
Function 5 - 2,500 (Page Hits Prod) / 2,500 (Page Hits Performance)
Function 6 - 2,500 (Page Hits Prod) / 11,500 (Page Hits Performance)
Functions not automated - 9,000 (Page Hits Prod)
Total Page Hits - 24,000 (Page Hits Prod) / 24,000 (Page Hits Performance)
In this example, automation has accounted for 15,000 of the 24,000 page hits seen in the peak hour, Function 6 is an enquiry function and that is being run at a much higher volume than it does in production, 11,500 hits in the peak hour rather than 2,500. This may cause a skewing of results and your must be careful to watch out for artificial bottlenecks, but on the whole it is the best way to performance test the peak workload your application will have to support.
Omniture is a common tool used by many companies for measuring traffic to a website. It is highly configurable and can be implemented in many different ways. Core functionality includes:
a). Visitors – Reports the number of unique visitors as well as the total number of visits to a website.
b). Page Hits – Reports on the pages displayed to users and the number of times each page was presented.
c). Landing Page – The landing page is the term used for the first page the visitor sees when they first arrive on the website. Landing pages can be varied depending on how the site is indexed and will not necessarily be the home page.
d). Visitor Path – Reports on common sequences of pages displayed to user, e.g. home page –> search product –> select product from search results.