I’ve configured locations in my private instance with 0ms latency, because I want the natural geographical distance of the agents to hold the latency.
Is this silly?
In another scenario, different private instance, I have nearby agents only. Wanting to simulate loading a page from India, I selected did a custom option of 1000 kbps, 150ms latency. Problem is, some of the objects on the tested page are loaded from a global CDN, Akamai. By injecting 150ms latency, I’m forcing that true on all objects. The objects loaded from Akamai won’t have 150ms of latency.
I found it better, in this case, to use public webpagetest, using the India node, with custom setting of 0ms latency. This way, the objects getting loaded from the US are subject to natural latency, and Akamai objects aren’t subject to any unnatural latency.
Is it possible to make the dummynet driver apply different latency to different hosts? For example, would be cool if there was a Scripted command like:
hostLatency example.tld 100
Then I could do webpagetests in the lab and simulate the right amount of latency for each host and get a better idea of what the page would really load like in this dynamic scenario.
It depends on what you are trying to simulate and what kinds of connections your end users are on. WPT uses the traffic shaping to simulate consumer last-mile connections which add additional latency depending on the technology being used. The added latency isn’t meant to make up for any natural network latencies in routing, that’s what the different locations are for.
If your users are primarily in offices with low latency and high bandwidth connectivity to the Internet (or your test agents are deployed on the same ISPs that your users connect from) then you should probably use “Native” which turns off all traffic shaping.
Since WPT just uses the latency for last-mile network it doesn’t make sense to alter it by host and that’s why we deploy to physically distributed locations.
You can easily set up custom IPFW rules in the ipfw.cmd script if you want to try to simulate different routing latencies to different hosts but I don’t recommend trying to simulate a full network mesh in the lab - the real world behaves very differently and simulating things like CDNs gets to be very difficult to get right.
Cool, thanks for the reply. I like what you said about “or your test agents are deployed on the same ISPs that your users connect from” - that’s an interesting endeavor. It would be really cool if end users could install an agent, similar to Gomez Last Mile, so we could execute page load tests from real end users. That would be sweet. Day dreaming here.
I hear you about trying to simulate routing latencies in a lab. So hard to simulate the real world.