Application Delay

Application Delay falls into a couple of categories, the first we’ll call server processing and the second we’ll call node sending time. These are sometimes referred to as time to first byte (TTFB) or file fetch time and Server Fulfillment time or sending duration. It doesn’t matter what we call it as long as we can time it.

ws-108a

With our trace we could time all of these processes. I’ll show you how then I’ll show you the easy button by using the Expert information and different Expert features. We first want to Fast Post-filter for the TCP Socket 1221 – 80. Let’s look at the first application request. We see the GET request for the default home page. I set my Relative time on the GET request by right clicking and choosing “Set decode Relative time” this sets my time zero on the request. Now I look at the 200 OK and read my relative time notice it is 99 ms this includes the 77ms NRTT. We can’t take away network latency, but we can define it.

obs108a

This tells us that it took the server 22ms to find the data. My example for this is, the server is made up of (4) 4 drawer file cabinets. It has to find the right file cabinet first then open the drawer then pull out the right file folder. All of this takes time and in this particular case it takes 22 milliseconds.
Our next step is to figure out how much time it took to send the data across the network. We just have to move our time reference to the 200 OK also notice it tells us the Content Length being returned = 35341 bytes. If we divide the content of 35341 bytes / 1460 (MSS) we know that it will take 25 frames to move this data.

obs108b

Now we have to find the end of the server sending data or client sending the next GET request.

obs108c

We see it took 355 milliseconds to send the 35341 bytes of content. This is node sending time or sending duration. Then we see the client processing time is 8 ms, the difference between 355 and 363 milliseconds. Now all we would have to do is do this as many more times as there are application requests in your trace which could be a few or many hundred. It is even easier if we let expert do most of the work for us. Go back to the trace tab that has all of your frames. In the Expert tab, TCP Events, Choose Server Client Totals, then select the conversation by clicking the TCP pair; this will highlight this conversation, now right mouse click and choose Add Server to Application Transaction Analysis.

obs108d

obs108e

Make the selection to Track by URL and then click on the Configure button!

obs108f

This allows us to dissect the application several different ways. We want to go 10 levels deep and uncheck the Track folders only box, but notice you can track specific URL’s or content type.

obs108g

Now follow through with OK and click finish. Click on the Application Transaction Analysis Tab at the bottom right. At the top of your screen choose the Application Statistics tab and notice there are 62 - GET Requests and 62 - 200 OK Responses. This quickly shows us that the application made 62 Round trips to the server.

obs108h

Now click on the URL tracking Statistics tab at the top of the window. It shows us that there are 62 total application requests and the home page took 99 ms for the server to find the data or we also said it could be known as (TTFB) time to first byte. We calculated it earlier, they match.

obs108i

The next step is to determine the sending time or duration, Expert can do this as well, we just have to go back to the Expert window and choose the same port pair, right click and choose Reconstruct Stream. Notice the duration is 355 ms, just as we calculated from the trace.

obs108j

Now we can determine the Application Turn simply by adding the TTFB (99 ms) + Sending Duration (355 ms) = (454ms) Application Turn or Application Round Trip Time (ARTT.)

ws-108f

With just a few clicks and choices from Expert we can get all of this information without really having to go dig through a bunch of frames.

LAB 8 – Application Profile
Go back and open your capture from LAB 5 which was the client PC connecting to your web server.
Figure out how many Application Round trips were made. Time the first few manually just so you know how to do it and then do the rest with Expert. Use the Application Transaction Analysis option and then use the Reconstruct Stream option to validate the results you got from the trace.