+ All Categories
Home > Documents > 3_Work Load Modeling and Work Load Modeler in Performance Testing.pdf

3_Work Load Modeling and Work Load Modeler in Performance Testing.pdf

Date post: 30-Sep-2015
Category:
Upload: raj
View: 236 times
Download: 1 times
Share this document with a friend
24
Work Load Modeling and Work Work Load Modeling and Work Load Modeler in Performance Load Modeler in Performance Testing Testing
Transcript
  • Work Load Modeling and Work Work Load Modeling and Work Load Modeler in Performance Load Modeler in Performance TestingTesting

  • Business Business Case, Solution & ApproachCase, Solution & ApproachCase

    An application is made ready to go-live in the next 2 months, but the

    application performance behavior with real-time and varying user load is not

    available.

    Solution

    Application performance behavior prior to its actual go-live with real-time and

    varying user loads need to be understood

    ApproachApproach

    A BETA version of the same application is made available to the end users and

    feedback by the end user pertaining to applications responsiveness is

    recorded.

    All the logs and other related data pertaining to the application are monitored

    and examined closely.

    Some varying patterns can be observed, due to application specific behavior at

    varying user loads.

    Work load modeling technique need to be used here, to arrive at an optimal

    throughput or user load with which the application can be subjected to a

    realistic user load. The performance tests carried out using this model will

    simulate the application performance behavior as in production.

  • IntroductionIntroductionWhat is Work Load Modeling?

    Work load modeling is a process that determines application usage pattern in

    production or which is expected after deployment in production. Performance

    testing scenarios will be executed as per the Work load model to identify the

    bottlenecks.

    Performance testing & Work Load Model (WLM)Performance testing & Work Load Model (WLM)

    The work loads used during performance testing must represent the real world

    production scenario, so that the results obtained are proportional to understand

    the performance characteristics of an application in production.

    Business context for the use of the application, expected transaction volumes in

    various situations, expected user path(s) by volume and other usage factors

    must be understood thoroughly to create an accurate representation of real

    world application usage

    Contd..

  • IntroductionIntroductionWhy, WLM is required?

    Work load modeling is mandatory to make sure that the calculated user load or

    throughput in the test environment represents an equivalent (scaled down) of

    production environment.

    Throughput in production environment can be calculated using the number of

    users using the application during peak usage, peak usage duration, response

    times of transactions in the peak usage duration and think time in productiontimes of transactions in the peak usage duration and think time in production

    environment.

    Work load model also captures the transaction distribution, load distribution and

    load pattern.

  • BackgroundBackgroundLittles law can be used to derive the work load modeling statistics.

    According to Littles law -

    Actual Number of Users in the System (N) = (Transactions per second or

    Throughput (X))* (Response Time (R) + Think Time (Th))

    N = X (R + Th)

    The average number of requests in a system is equal to the product of the

    throughput of that system and the average time spent in that system by a

    request.

    N - number of users should be simulated, to carry out performance testing of an

    application. Performance testing tools help in simulating the users. The system

    throughput and response time are obtained.

  • Work Load Modeling Work Load Modeling -- ApproachApproach Identify the critical scenarios for the application from a performance

    perspective. This should be done as a part of the requirements analysis stage.

    Identify the set of operations/scenarios performed on the application by an

    average user.

    For each of the identified scenarios the following inputs should be captured:

    Number of Users using the application in peak hour: The total number of

    concurrent and simultaneous users accessing the application in a given time frame.

    Patterns of requests: A given load of concurrent users may be performing different

    tasks using the application. Patterns of requests identify the average load of users, and

    the rate of requests for a given functionality of an application.

    Think Time: The user views the information displayed on a page or enters details such

    as personal details, depending on the nature of action being performed during this time.

    It varies depending on the complexity of the data on a page.

    Response time SLA of transactions in that peak hour

    Contd..

  • Work Load Modeling Work Load Modeling -- ApproachApproach Total number of servers which host the application.

    Work load model and the transaction load are calculated.

    Divide the throughput among all the production servers so that the throughput

    for one single server can be obtained.

    Scale down the throughput according to the test environment by multiplying

    the throughput of single server with the number of servers in test

    environment.

    Multiply the throughput with the percentage of load to arrive at the final

    throughput for a particular transaction.

    Calculate the user load in test environment, using throughput, response time

    and think time for that particular transaction.

    Similarly, calculate the user load for all the transactions and perform the load

    test.

    The results obtained will give the throughput almost similar to the production

    environment.

    NOTE: 5% of deviation will be considered with expected throughput.

  • Different cases Different cases of Work of Work Load ModelingLoad Modeling Work load modeling (WLM) technique can be applied for variety of cases to

    arrive at a work load model.

    The 5 most important and common cases depending upon the data available

    are identified and work load modeler is designed this to suit for those cases

    to arrive at the work load model.

    In all these cases, one needs to identify number of users and throughput in

    the test environment for a single transaction when the corresponding

    production data is available

    Case 1 Case 2 Case 3

    Case 4 Case 5

  • Below are the details shared by the client for one of the real time

    scenarios -

    Number of production Servers: 8

    Number of Test Environment Servers: 2

    Number of Concurrent users (Same is considered as peak load): 2000

    Response time for every transaction: 2 sec

    Case Study of a Banking ApplicationCase Study of a Banking Application

    The load distribution among different transactions is as follows,

    Table (1)

    Think time assumed as 5 sec Contd..

    S. No Transaction Name % of load(100)

    1 Transaction1 20

    2 Transaction2 15

    3 Transaction3 15

    4 Transaction4 20

    5 Transaction5 30

  • Case Study of a Banking ApplicationCase Study of a Banking ApplicationCalculation of Throughput for both Production and Test Environments:

    Throughput of the application in Production Environment -

    According to littles law, N = X (R + Th) => 2000 = Z (2 + 5)

    Throughput (Z) = 2000/7 = 285.7 trans/sec

    Throughput for each server = 285.7/8(No. of Prod servers)

    = 35.7 trans/sec

    Throughput of the application in Test Environment -

    Total throughput in Test Environment = Throughput for each server * 2

    = 35.7*2 = 71.4 trans/sec

    The user load based on the throughput in test environment should be applied

    and the expected throughput of the application should be matched with

    production to create the real time scenario. 5% deviation in the throughput will

    be considered in this case.

    Contd..

  • Case Study of a Banking ApplicationCase Study of a Banking Application

    Calculation of Number of Users for each transaction in Test Environment:

    Throughput for individual transactions -

    Throughput (for a particular transaction) = % of load * Throughput of servers in

    Test Environment.

    For Example:

    Throughput of transaction1 = 20% of 71.429

    = 14.286 Transactions Per Second (TPS)

    Number of Virtual Users for Transaction1 = Throughput of transaction1 *

    (Response time + Think time)

    N = 14.286*(2+5)

    = 100

    Contd..

  • Similarly, proceeding for other transactions

    Case Study of a Banking ApplicationCase Study of a Banking Application

    Work Load Model

    Transaction % load

    Expected

    Response

    Time (sec)

    (R)

    Think Time

    (sec) (T)

    Throughput for

    each Transaction

    ( Z) (TPS)

    Number of Users

    N (N=Z(R+T))

    1 2 3 4 5 6

    Transaction1 20 2 5 14.286 100

    Transaction2 15 2 5 10.714 75

    Table (2)

    Performance of the application in production can be known, by performing a load

    test in the Test Environment with above user load (Column: 6).

    The expected throughput will be approximately equal, when compared to the

    production volumes.

    Transaction2 15 2 5 10.714 75

    Transaction3 15 2 5 10.714 75

    Transaction4 20 2 5 14.286 100

    Transaction5 30 2 5 21.429 150

    Total 100 NA NA 71.429 500

  • Work Load ModelerWork Load Modeler

    A work load modeler using excel macro is developed, which will calculate the

    work load (Number of Users or Throughput) for an application under test (AUT)

    or system. The work load modeler will save time and reduce manual work.

    Manual calculations in the above example takes lot of time to come up with final

    numbers. Manual effort is reduced using the work load modeler macro, which

    will automatically calculate all the Throughput or Number of Users.will automatically calculate all the Throughput or Number of Users.

    Please find below Work Load Modeler

    Contd..

    Microsoft Excel

    Macro-Enabled Worksheet

  • Work Load ModelerWork Load ModelerWorking with Work Load Modeler

    Microsoft Excel 2003 or above version are required, to work with this work load

    modeler.

    Note:

    1. In case of Microsoft Excel 2007, make sure that the macros are enabled with

    the help of macro settings or options.

    2. In case of Microsoft Excel 2010, make sure to save this file with .xlsm

    (Microsoft Excel Macro-Enabled Workbook) extension.

    Please follow the below steps to run the work load modeler:

    1. Open the file and make sure that macros are enabled

    2. Enter the data as per the cases (data availability) above, in the Basic Data

    sheet

    Contd..

  • Work Load ModelerWork Load Modeler

    Example: Parameter - (Value)

    *Number of Servers in Production Environment - (8)

    **Throughput in Production Environment - (10000000)

    **Number of business days considered for 'Throughput' in Prod - (2)

    **Number of business hours considered in a business day - (8)

    (And/or)

    **Peak Usage Percentage (Throughput) - (30)

    **Peak Usage Duration considered (Hours) - (2)

    (And/or)

    **Number of Concurrent Users in Production - (2000)

    (Or)

    Contd..

  • Work Load ModelerWork Load Modeler

    **Peak Time Production Throughput - (100000)

    **Peak Time Duration (Hours) - (2)

    *Number of Transactions under consideration - (10)

    *Number of Servers in Test Environment - (2)

    *Response time for every transaction (Sec) - (2)

    *Think time to be assumed for every transaction (Sec) - (3) *Think time to be assumed for every transaction (Sec) - (3)

    Note: * denotes a mandatory field whereas ** denotes a case specific field

    3. Click on Submit button

    4. The work load model for the specified case will be obtained in the sheet

    WLM

  • Benefits of Work Load Modeling and Benefits of Work Load Modeling and Work Load Work Load ModelerModelerWork load Modeling is

    Useful to identify business critical transactions and their usage pattern.

    Useful to replicate a scaled-down version of production.

    Useful to simulate realistic scenarios.

    Simple and efficient because it is based on simple operational laws.

    Platform and environment independent. Platform and environment independent.

    Work load modeler

    Useful to calculate the user load or throughput.

    Saves time and reduces manual effort.

    Useful to handle all types of realistic scenarios.

  • ReferencesReferences http://msdn.microsoft.com/en-us/library/bb924367.aspx

    http://perftesting.codeplex.com/

  • Thank You

    Amith Kumar Arangi

    Suresh Suru

  • Case 1Case 1When only the below parameters are available.

    Throughput in production

    Number of business days for which the throughput is observed

    Number of application servers in production environment

    Number of application servers in test environment

    Number of transactions under consideration Number of transactions under consideration

    Expected response time.

    Expected think time.

  • Case 2Case 2When only the below parameters are available.

    Throughput in production

    Number of business days for which the throughput is observed

    Percentage distribution of throughput for each scenario.

    Number of hours for which the percentage distribution is considered.

    Number of application servers in production environment Number of application servers in production environment

    Number of application servers in test environment

    Number of transactions under consideration

    Expected response time.

    Expected think time.

  • Case Case 33When only the below parameters are available.

    Percentage distribution of throughput for each scenario.

    Number of hours for which the percentage distribution is considered.

    Number of concurrent users in production.

    Number of application servers in production environment

    Number of application servers in test environment Number of application servers in test environment

    Number of transactions under consideration

    Expected response time.

    Expected think time.

  • Case Case 44When only the below parameters are available.

    Number of concurrent users in production.

    Number of application servers in production environment

    Number of application servers in test environment

    Number of transactions under consideration

    Expected response time. Expected response time.

    Expected think time.

  • Case Case 55When only the below parameters are available.

    Peak time production throughput

    Peak time duration considered for the peak time production throughput

    Number of application servers in production environment

    Number of application servers in test environment

    Number of transactions under consideration Number of transactions under consideration

    Expected response time.

    Expected think time.


Recommended