Bytes In Varying

I’ve noticed Bytes In can vary between tests, even when the content is the same size. I’ve witnessed this on the public version and a private install. I take it this is due to measuring the raw traffic versus just the file contents. Is that correct?

Here’s a simple example of small variations, which I’ve been able to reproduce on most sites:
[list]
[][url=http://www.webpagetest.org/result/110617_MS_VN3E/]http://www.webpagetest.org/result/110617_MS_VN3E/[/url]
[
][url=http://www.webpagetest.org/result/110617_PM_VN3F/]http://www.webpagetest.org/result/110617_PM_VN3F/[/url]
[/list]

I’ve also seen fairly large variations on my 2.2 private install, but it’s also between two different branches of code. Although my changes are at most about a 30kb difference in total, I have seen WPT report up to 100kb difference in total. This is worrisome as it makes it harder to trust the results. I don’t have the exported information with me, but will definitely post it soon if it’s needed. Any ideas what could be causing this?

Looks like the actual size of the html being delivered is different:

http://www.webpagetest.org/result/110617_MS_VN3E/1/details/#request2
http://www.webpagetest.org/result/110617_PM_VN3F/1/details/#request2

Looking at the 3rd request the wire-transfer size is different but the content-length in the header is the same so there might be something odd going on with the Chrome measurements. We are measuring at the socket layer but that wouldn’t include any TCP retransmits or anything like that so I would expect them to be consistent. I’ll take a look and see if anything jumps out.

Do you see this in IE as well or just Chrome?

Thanks,

-Pat

Yes, the third request is the type of behavior I’m referring to.

I haven’t seen the issue in IE, but I also haven’t been running in IE at all. I tried a couple times to reproduce it in IE, but was unsuccessful. So the Chrome measurements definitely seem like a good place to start.

Thanks for looking into it.

Wow, that was a fun one. All fixed now:

http://www.webpagetest.org/result/110622_PB_WXJ6/2/details/#request3
http://www.webpagetest.org/result/110622_PB_WXJ6/3/details/#request3

Let me know if you see it crop up again (or anything else strange).

If anyone cares about the tech details, I wasn’t handling the case of async socket events completing immediately so sometimes data would be missed so it was a really good find.

Thanks,

-Pat