What is the Difference between Mean response time and Mean turnaround time in a Microservices environment?
ISO Description:
How long is the mean time taken by the system to respond to a user task or system task?
What is the mean time taken for completion of a job or asynchronous process?
I am currently measuring the Mean Response Time by Calculating the Average of the Latency Times of the Responses. Is the difference maybe that am just sending 1 (Synchronous) Request while measuring Mean Response Time and maybe using multiple Threads and hitting the Service with multiple Request when measuring Mean Turnaround Time?
Or is the difference that Mean Response time just measures the time the Systems needs to response and the Response itself doesn't matter?
How would the measurements of both Times (in a Microservices Environment) differ? I don't use any Asynchronous Responses.
Would the difference maybe be
MRT = Latency, MTT = Elapsed time?
Elapsed time. JMeter measures the elapsed time from just before sending the request to just after the last response has been received. JMeter does not include the time needed to render the response, nor does JMeter process any client code, for example Javascript.
Latency. JMeter measures the latency from just before sending the request to just after the first response has been received. Thus the time includes all the processing needed to assemble the request as well as assembling the first part of the response, which in general will be longer than one byte. Protocol analysers (such as Wireshark) measure the time when bytes are actually sent/received over the interface. The JMeter time should be closer to that which is experienced by a browser or other application client.
As far as I know, the response time is the time it takes the system to generate a response for a received petition. It is measured from the moment the system receives the petition to the moment it sends out the response.
On the other hand, the turnaround time is the time it takes for the petition to be fulfilled. It is measured from the moment the petition is sent to the moment the response is received.
MRT and MTT are just the corresponding means for these times across several petitions.
Using a client - server example:
PS: Petition Sent
PR: Petition Received
RS: Response Sent
RR: Response Received
[client] [ network ] [ server ] [ network ] [client]
PS ---------------- PR ------------ RS ------------------- RR
0 ms 730 ms 940 ms 1620 ms
\ \________________/ /
\ response time /
\______________________________________________________/
turnaround time
The response time is 940 - 730 = 210 milliseconds, the time it took the server to generate a response.
The turnaround time is 1620 milliseconds, the time it took for the client to receive a response.
JMeter's "elapsed time" would be the same as turnaround time here, while "latency" would be the time it takes for the client to start receiving the response. If the response is a 10 MB chunk of data over a 1000 Mbps line, it'd take roughly 80 ms to be completely received, so elapsed time would be latency + 80.