
Testing with realistic network conditions - inian
http://calendar.perfplanet.com/2016/testing-with-realistic-networking-conditions/
======
wittedhaddock
This is an incredibly real problem. As someone who sells high performance
networking to mobile apps[1], it's unbelievable how many people will say their
load times are "fast enough," but when you dig into how they reached that
conclusion it's in fact only on their near-flawless enterprise WiFi with 0%
packet loss. They just don't put themselves into the actual shoes of their
users.

More, I have yet to find an organization that understands -- or even measures
-- their business metrics with respect to network type. There is decent
understanding of the notion of performance, clearly, but abhorrent
understanding of performance as a _parameter_. The vast majority of people
just don't ask basic questions like "how do my users on 3G engage differently
than on LTE?".

If anyone has any ideas about how we can educate people about their
performance problems I'm all ears!

[1] [http://www.caffei.net/](http://www.caffei.net/) (happy to answer any
questions or rant offline, just drop me a line: james at our site address)

------
partycoder
I concur 100%, it is important to test under realistic conditions.

I used Xcode's link conditioner tool to test a custom protocol under packet
loss and latency.

With Wireshark you can see TCP retransmissions. In my case, TCP introduced too
much latency since the guarantees it offers are costly under certain
circumstances.

So I moved to UDP and reworked the protocol to have fire-and-forget messages.

~~~
wittedhaddock
Any apps on the store using this? Would be interested to understand more

------
mikhailt
Does anyone know of a Windows tool that test various proxy setups for apps,
like PAC/authenticated proxy/etc?

------
CraigJPerry
What kind of flaws does this kind of testing typically uncover?

~~~
inian
The testing conditions that are used when developing websites aren't the same
as what users experience - especially when they are on a mobile device which
has lower bandwidth, power, etc. It is important to ensure that the site is
usable from the user's perspective. This kind of testing is usually required
for you to see how your site performs when there is higher latency, packet
loss, single points of failure (when a domain is unreachable) and so on..

Though these are great tools to help us test, I still strongly recommend using
real devices with real network conditions to do tests like these.

~~~
cmurf
Sounds like every media website: Forbes, Vanity Fair, NY Times, on and on.
Mobile LTE and their sites are slow, very laggy, like they only care to test
with desktop systems and low latency high bandwidth networks. Annoying.

