Monday, 3 March 2014

What is 90th Percentile? Calculation of 90%?


90th Percentile :
      
The 90% tells you the values for which 90% of the data points are smaller and 10% are bigger.
                                (OR)
The 90th percentile is the value for which 90% of the samples were less than that value
    
90the percentile means the highest response time among the best passed 90% of the attempts of the transaction.
 For an example, the transaction  passed for 20 times. So 90% of 20 values would be 18 i.e. LR will take 18th value is the best response times for that transaction and will report highest among those. This in turn means (90 percentile means) 90% of the response times are less than or equal to this particular number
This 90th percentile value is considered as the benchmark

Statistical Steps to calculate the 90th percentile value:-

The 90th percentile is a measure of statistical distribution.The 90th percentile tells you the value for which 90% of the samples were
less(Smaller) than that value and 10% are bigger.

Steps

1. Sort the transaction instances by ascending order.
2. Count the total number of transactions Say T.
3. Calculate 90/100 * T = Position (P)
4. This calculated position (P) contains the 90th percentile value (V).

Example 1:

There are certain instances of transaction "t" with the values 1,3,2,4,5,21,7,8,12,6,28,8,17,22,13,2,11,15,14,3 (in sec).

1.Sort by value -- 1,2,2,3,3,4,5,6,7,8,8,11,12,13,14,15,17,21,22,28

2. Count the total number of transactions;(T)= 20.

3. Calculate  Position (P) = (90/100) * T = 18;

4. Position 18 contains the 90th percentile value(V) =21;.

Simple Explanation :
         90% Response Time (RT) is the one factor we should always look in  once the analysis report gets generated to calculate the 90% RT.

  •    Sort the transaction RT by their values.
  •    Remove the top 10% instances
  •    The higher value left is the 90% RT.

Ex:  

Consider we’ve a Script with transaction name “Trans(Ti)-testing” and there are 10 instances of this transaction i.e we run this transaction for 10 times.


  •     Values of transaction 10 instances are;
         T1    T2    T3   T4  T5   T6   T7   T8   T9  T10
3
5
1
3
9
6
7
2
4
5
                     Sec

  •     Sort them by their values
         T3    T8   T1   T4    T9   T2   T10  T6   T7  T5
1
2
3
3
4
5
5
6
7
9
                Sec

  •     Remove the top 10% value i.e here  9 sec (T5)
          T3    T8    T1   T4   T9   T2   T10  T6   T7    T5
1
2
3
3
4
5
5
6
7
9 Remove

   Here the 90% RT value is    7Sec (T7)

Sunday, 2 March 2014

What is Bottlenecks?How to identify bottlenecks in Performance Testing?

What is Bottlenecks?

Bottlenecks
 It’s an issue which can degrades the Application Performance.
  By Using Monitors we can find the Performance Bottlenecks.
  TheseMonitors might be  App Server Monitors
                                      Web Server Monitors
                                      DB Server Monitors
                                      N/w Monitors
  
They help finding out the troubled area in our Scenario which          causes increased Response time.

 The measurements made are Usually Performance Response            Time, Throughput, Hits/Sec, N/W delay Graphs etc….

How to identify bottlenecks in Performance Testing?

EXAMPLE
      
   we will see how to identify the bottleneck issues by comparing Average Transaction Response Time and Transaction Performance Summary
                 
Consider we have following three transactions

1.   Login
2.   Book Ticket
3.   Logout

 Below is the Transaction Performance Summary graph for the above   transactions.In this example, the average response time for BookTicket transaction is 11 seconds.


Below is the Average Transaction Response Time graph which shows Book Ticket transaction’s response time is very high (15 seconds) at 1st and 7th minute of the scenario.


Our aim is to identify the pinpoint of the issue and to analyze the root cause of high response time for the Book Ticket transaction. To achieve above said objective, we need diagnostics tool, by default HP provides following diagnostics modules: J2EE/.NET, Siebel, Oracle, SAP R/3.

Now, we will see how to isolate the bottleneck issue through diagnostics. Prerequisite is Web Page Diagnostic feature should be enabled before executing the scenario.

Breaking down transactions helps us to identify the bottleneck issues. Open the Average Transaction Response Time in Analysis, right-click on it and select Web Page Diagnostics for Book Ticket.

Web Page Diagnostics displays breakdown of each page component’s download time of Book Ticket transaction. If the download time is too long, analyze the which measurements is responsible for the lengthy download such as FTP Authentication, DNS Resolution Time, Time to Buffer, Handshaking time etc. If you suspect, there should be any server related problem, check the First Buffer Breakdown option.

It is ideal to check the Network Monitor graphs; it helps to determine what network problem caused the bottlenecks. Also we can identify the bottleneck by using auto-correlating feature. Right-click on Average Transaction Response Time and select Auto Correlate. Mention the time frame for analysis, and the correlate options (which data that you want to correlate) such as SQL Server, Windows Resources, and Web Logic (JMX) etc.

Web Logic (JMX) or JVM Heap Size or Private Bytes might be the cause of slow performance of Book Ticket transaction.


In this way we can pinpoint the issues by analyzing Average Transaction Response Time graph. There are other ways too to determine the cause. In next blog post, we will see about Network and Server Problems.