1. SPEForums need your contributions to build up a strong repository of performance engineering resources.

    Dismiss Notice
  2. Whatsapp Group For Software Performance Engineering Professionals!! Click here to get added . No Spam for strictly professional discussions only.
    Dismiss Notice
Dismiss Notice
Hello Guest,

Please reach out to us at admin@speforums.com/+91 8600177662 in case you face any issues with SPEForums. Share your feedback - Click Here

Please support us by sharing performance engineering tutorials/resources with SPEForums.com

-Crew

Response Time

Defining the meaning of response time in software performance

  1. admin
    Response Time

    In simple terms we can define Response Time of a request or a transaction as the amount of time taken to respond back to a request or a transaction.

    In Software performance engineering, Response Time is one of key parameters for measuring the performance of a system. If a system is able to process any given request within the expected target time, the system is said to have good performance. However if the response times for given requests are high the throughput of the system reduces, i.e in a given amount of time the number of transactions completed will be less than expected.

    The total response time for a given request may have several components:

    Response time =Network time + server time

    Network time= latency+ transmission time
    Server time= service time + queuing time

    Network time

    The network time is the time spent in sending various messages between the browser and web server to complete a given request

    Latency indicates the number of round trip times (RTT) involved in exchange of messages between the client browser and the application. Latency is a function of the nature of protocols used and in case of web pages the design of the web page. Further details on Latency topic will be covered under Network section.

    Transmission time is the time needed to transmit all the bytes exchanged between the browser and application, and depends on the bandwidth of the slowest link connecting the browser and server.

    Server time

    The time spent by a request on a given server or component such as CPU, disk is the service time for that component or resource for the given request. The sum of all service times for a given request is the service demand of the request.

    The amount of time the request is waiting to be serviced by the resource is called the waiting time. The sum of all waiting times for a given resource for a given request is the queuing time.


    upload_2017-12-3_0-18-32.png

    We can measure response time at server or client as follows:

    • Response Time measured at the server - The time taken by server to complete execution of a request, which does not include the network time.
    • Response Time measured at the client - The response time measured at client includes the request queue, time taken by server to complete the execution of request, and the network time.
    Measurement of response times

    • Average response
    • 90th Percentile Response Times

    Average response time is calculated as sum of all the response times divided by number of instances for a given sampling period

    90th Percentile response time is defined as the value for which 90% of response times are small or within the targets and 10% are higher or above the targets. We can calculate the 90th percentile value for a transaction as follows:

    1. Sort all the response time instances
    2. Remove top 10% instances
    3. Highest value is the 90th Percentile

    Example to calculate 90th percentile value:

    For a transaction the response time (in seconds) data for 10 instances are as follows:

    4, 2, 3, 5, 1, 9, 7, 10, 11, 8

    Step1: Sort values from the best to worst

    1, 2, 3, 4, 5, 7, 8, 9, 10, 11

    Step2: Remove the top 10%, here it is ‗11‘

    1, 2, 3, 4, 5, 7, 8, 9, 10

    Step3: The highest value left is 90th percentile value, here it is ‗10‘. So the 90th percentile value is 10.