
Show HN: Tool for testing sites and apps on slow connections - pkhach
https://www.httpdebugger.com/netthrottler.html
======
shereadsthenews
Chrome has this built in, FWIW, and of course you can always use the standard
tools to achieve this on Linux.

~~~
Animats
_You can always use the standard tools to achieve this on Linux._

Add 200ms of network delay under Linux:

    
    
        sudo tc qdisc add dev eth0 root netem delay 200
    

This guy at least provided a usable user interface.

~~~
Pokepokalypse
fwiw: when you're done messing around with a `tc qdisc add`; it's probably a
good idea to do a `tc qdisc del`. . . :)

~~~
Animats
Yes, I know that.

------
bacon_waffle
So I can't test this as I don't have a Windows machine, but from the
screenshot it seems only concerned with bandwidth. For my personal situation,
latency is the real killer.

I've got a gigabit fibre connection but am way down South in New Zealand, and
interact with a Perforce server that's in California for my day job. When one
does an operation in Perforce, like the equivalent of a 'git pull', there
seems to be at least a couple round-trips between the client and the server,
for each file. There are some tasks take a few seconds for folks in the
California office, where for me those are easily several minutes to several
dozen minutes. It's convenient when the weather is nice or the fire needs
feeding :).

~~~
adrianN
The joys of using VCS designed for LANs. Clearcase has the same problem.

~~~
repiret
Years ago I worked somewhere where we had to use Visual Source Safe, on a Mac
(OS9), over a sub-1MBit DSL. Doing anything would take hours to days.

------
eps
Mods, is this sort of spam blast an acceptable behavior on HN now -
[https://news.ycombinator.com/submitted?id=pkhach](https://news.ycombinator.com/submitted?id=pkhach)
?

It could've been a decent Show HN discussion, but as it stands this is nothing
more than an ad for a commercial software.

~~~
dang
It's a bit over the line. The FAQ says a small number of reposts is ok if a
topic hasn't had significant attention yet:
[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html).
Now that this has, the reposts should stop.

~~~
miles
It's always felt as if HN members not only should, but as a rule do, submit
links they've found of interest or value. If a member merely and repeatedly
submits their own commercial project(s), it feels out of alignment with the
spirit of the site.

More explicit rules or code (like limiting the frequency of submissions from a
given member to the same domain name, etc) may not be necessary, as the voting
system generally seems to work quite well. Or perhaps such code is already in
place? which would help explain the high quality content on HN.

As ever, thank you Dan (and Scott) for maintaining this wonderful resource.

~~~
dang
There are a lot of users who come to HN just to submit their own stuff, aren't
participating in the community, but don't realize that they're breaking any
norms either. We tend not to treat them as spammers unless they really overdo
it. Often we explain to them that (a) using HN just for promotion is something
the community doesn't like, and which we eventually penalize or even ban
accounts for; (b) if they want to post to HN it would be better to fully join
the community and submit a variety of things they personally find
intellectually interesting, and (c) if they do that, it's fine to occasionally
include their own stuff.

Most people respond to that explanation pretty well and HN has even gained a
few excellent submitters that way. So we've learned to treat this class of
users with a lighter touch than outright spammers, who mostly leave quite
different fingerprints.

(p.s. thanks for the kind words!)

------
zinckiwi
No need for a tool, I can just go and stay in a Hilton.

------
jeremy_wiebe
If you’re on iOS or macOS there’s Network Link Conditioner which does the same
thing.

~~~
skunkworker
To install, download the Additional Tools for Xcode {{xcode version}}. And in
the download DMG "Hardware/Network Link Conditioner.prefpane"

[https://developer.apple.com/download/more/?=additional%20too...](https://developer.apple.com/download/more/?=additional%20tools)

------
argd678
If you need lower level emulation, with packet loss etc. Clumbsy is is great,
and QA departments can get up to speed quickly on it too. It’s also free.

[https://jagt.github.io/clumsy/](https://jagt.github.io/clumsy/)

------
rmetzler
I'm looking for something I could put between two docker images to test for
problems that arise from slow API connections.

I have go code (open source, but not written by me), I suspect to have
timeouts in certain situations and I would like change the code to be failure
tolerant.

Anyone has a tip?

~~~
ninjaoxygen
I used tc on a Linux VM between two hosts to simulate loss, latency and
bandwidth limits. Two interfaces, I think TC only works in one direction per
interface so you have to enable it on both interfaces to get delay in both
directions.

See [https://stackoverflow.com/questions/614795/simulate-
delayed-...](https://stackoverflow.com/questions/614795/simulate-delayed-and-
dropped-packets-on-linux)

------
exodust
Why not just use Firefox dev tools?

F12 > click 'Responsive Design Mode' > then click 'Throttling', the options
are 2G, 3G, 4G, DSL, Wi-fi.

I guess if you need throttling for something other than a web page, you need
something other than a web browser.

~~~
pkhach
Hello,

Yes, you can use built-in dev tool for your browser.

But if you are creating your own application (C++, .NET, JAVA) then you need
an external tool like this.

------
Waterluvian
Help me out here because I've been caught between what this website is telling
me and what I think is true.

What does "portability" mean?

It says "FREE portable download" but it's a .exe. So windows only?

~~~
niij
Portable as in it doesn't need to be installed, it runs the program as soon as
you start the exe.

Portable is different than cross platform.

~~~
frabert
To be fair, that's a definition of "portable" only used among windows users,
as far as I know.

------
adrianN
It would be nice if developers could also test their stuff on old computers.
Many websites are completely unusable on older mobile devices for example, and
not because of network issues.

------
keeler
You can probably accomplish this with Linux's tc command.

~~~
ninjaoxygen
In my experience tc is only designed to work in one direction, so I had to use
a separate VM, place that machine between the test host and the rest of the
network, then enable TC on both interfaces.

~~~
eitland
My understanding us that typically you'd create a minimal router out of a
minimal server distro installation (either physical or virtual) and make a
couple of scripts to automate standard settings.

Source: At some point I was part of a team that used a setup like this for
testing.

------
guidedlight
Any recommendations for doing something similar during load testing (e.g.
Jmeter)?

~~~
idoco
At Loadmill we use thousands of real user devices from around the world to
simulate the load.

This way you can simulate the complexity of different devices, geo-locations,
and network connectivity levels in your tests.

Disclaimer, I'm one of the founders of Loadmill.

------
zmarty
How does this work? What mechanism does it use?

