Tell me more ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is there a way I can simulate various connection speeds from within Firefox?

I need to be able to check http://localhost with varying speeds.

I know there are standalone applications that can do this, but I'd rather do this inside Firefox via a plugin or similar.

share|improve this question
4  
By slow do you mean low bandwidth or high latency? – Chris Upchurch Feb 3 '09 at 0:21

migrated from stackoverflow.com Aug 31 '11 at 22:42

11 Answers

up vote 167 down vote accepted

Firefox Throttle Now works on localhost

"Firefox Throttle is a small plug-in for your favorite Web Browser, that allows you to cap download/upload rates and monitor current bandwidth utilization. "

Internet Explorer Throttle (As of 2010/02/23, still doesn't work for localhost)

"IE Throttle is a small plug-in for your Microsoft Internet Explorer, that allows you to cap download/upload rates."

Addendum: Throttle seems to have been abandoned in that the links above take you to versions which only work with older browsers which are no longer available, so I have uploaded some files for archival purposes.

To get Firefor 3.6.25 (or more recent if they are still updating it), http://www.mozilla.org/en-US/firefox/all-older.html but if you can't get the English version that still works with Throttle try: http://download.mozilla.org/?product=firefox-3.6.25&os=win&lang=en-US or finally the binary installation file which I archived at: http://ppl.ug/y56hcfglhBM/

I like to use Firebug Addon when testing with old slow browsers (part of the simulation) and that is from: https://addons.mozilla.org/en-US/firefox/addon/firebug/ or my archive at: http://ppl.ug/vETnVoiwA18/

I made up a version of Throttle which will install and run with any Firefox above 1.4 and below 4.0 (as far as I know). It is just a simple hack on the max version check as described on other threads, but if you want an off-the-shelf Addon, my archive is ffthrottle2.xpi at: http://ppl.ug/d_lgWpElQkA/

This does make a pretty nice compatability test for those of us who want to verify function on dial up lines, but don't have any dial up lines (and the older browser is consistent with who would be using dial up these days).

share|improve this answer
@TravisO - I just thought to use that link instead too. Thank you for the suggestion though. – Jonathan Sampson Jan 23 '09 at 16:21
2  
:( - Firefox Throttle doesn't work on Linux! – a_m0d Jun 23 '09 at 8:02
2  
This solution is not quite accurate. It will simulate limited bandwidth, but it does not simulate latency. Very small requests will still be responded without delay. – Adrian Grigore Oct 31 '09 at 15:08
Used @Zidad's link. Tricky to get localhost throttle working, but if I enabled/disabled localhost & localNetwork options from the status bar a few times, it eventually worked ok – Brian Bishop Jan 13 '11 at 10:26
6  
Your links are dead. Can they please be updated, otherwise this answer is pretty useless. – DMA57361 Sep 1 '11 at 10:12
show 1 more comment

Linux

Traffic Control

On every modern Linux system you will find the tool "tc" (traffic control).

iprelay

For several *NIX distros there are packages called ip_relay.

ip_relay can shape the TCP traffic forwarded through it to a specified bandwidth and allow this specified bandwidth to be changed on-the-fly. Multiple data streams to different hosts/ports may be shaped to the same total bandwidth, much like a traffic shaping router would, however this application runs in user space, and works by acting as a TCP proxy.

Debian

For example, in Debian you could do the following:

$ iprelay -b2500 8000:localhost:80
# Point browser at http://localhost:8000

and you can see your website creations as a poor modem user would...

Ubuntu

or a link for an Ubuntu package: http://manpages.ubuntu.com/manpages/gutsy/en/man1/iprelay.1.html


OS X

The original iprelay Perl script found at Gavin Stewards website works on OS X out of the box.


Windows

Another tool which works on Windows: Internet Speed Simulator

Speed simulator is a simple throttling proxy which allows you to see how your site behaves under different connection speeds. It was written by me to test AJAX/Flash loaders and see how much my time took to load. You can simulate various speeds like that of a modem or a ADSL. A pre delay function is also there to help simulate delays due to DNS , connection establishment etc.

share|improve this answer
1  
The question stated, "I know there are standalone applications to do it, but I'd rather have a plugin."... – Nik Reiman Jan 27 '09 at 11:15
30  
it might help someone else, stackoverflow is a wiki after all. – markus Jan 27 '09 at 11:26
1  
iprelay works great. Thank you very much. – pi Jan 30 '09 at 15:22
Website for ip_replay: stewart.com.au/ip_relay. – MitMaro Dec 27 '09 at 10:59
1  
tc - traffic control is also a handy and powerful alternative. In kdedevelopers.org/node/1878 you can see how to put latency on a loopback device. – Mark Raddatz Feb 6 '10 at 7:17

The "Charles Web Debugging Proxy" has no problem throttling localhost. It works on windows, mac and linux. The trial version is fully functional and a licence costs only $50. I highly recommend it.

http://www.charlesproxy.com/download.php

share|improve this answer

Fiddler can similulate slow modem connections:

Here's how to modify the delays in the request and response.

Here's how to use Fiddler with Localhost.

share|improve this answer

The solution I use is a combination of Firefox throttle and Sloppy

  1. Install FirefoxThrottle. This will display the speed in the Firefox status bar.

  2. Now in Firefox go to the address you want to throttle and get the EXACT URL.

    • A lot of websites have redirects which can throw sloppy off.
    • Go to the start page for the site you want to throttle.
    • Copy the exact URL into the windows clipboard. The exact URL will include the http:// and the www parts if they are part of the URL,

Example: I'm in Canada so if I type "google.com" in the FireFox URL it actually takes me to http://www.google.ca/

  1. Start Sloppy (it is a Java webstart) so just double click the sloppy.jnlp file

  2. Now paste the URL into sloppy (i.e. Paste the entire "http://www.google.ca/" string).

  3. Firefox will take you to http://127.0.0.1:7569/ which is a throttled version of the site.

  4. Firefox Throttle will display in the Firefox status bar the speeds you are getting.

share|improve this answer

I think you would be better off by using a purpose built proxy as it would work in all browsers and/or any other applications. So I think you should have a look at Sloppy.

Basically, all you need to do is launch Sloppy, enter the address of your site and then it will open it in your default browser and simulate a dial-up speed. As a plus side, it's written in Java so it would work on Mac or Linux as well.

share|improve this answer
Adding to this answer, set up Sloppy (or a similar proxy) then use the FoxyProxy plugin for firefox, which supports sending particular addresses through particular proxies, as well as easy toggling if you don't want to use them at all. – phloopy Jan 27 '09 at 15:27

Use NetLimiter to limit your internet bandwidth upload/download per program.

Simply checkmark the Incoming/Outgoing limit checkbox next to Firefox, type in a speed limit in the current units (Kbits/KB per sec/kbits per sec).

Firefox's connection speed is limited to your setting so you can simulate slow download speeds, etc!

share|improve this answer

Here's an easy and configurable non-proxy solution for Mac users that works across browsers. It installs as a preference pane.

speedlimit home page

share|improve this answer

For OS X, check this:

speedlimit

enter image description here

speedlimit is a Leopard preference pane for limiting your network bandwidth to one of a couple different speeds—768k DSL, Edge, 3G, and Dialup. This is really handy for testing your iPhone app under normal Edge network conditions in the iPhone Simulator. The new version allows you to restrict the slowdown to only a specific set of hosts.

share|improve this answer

You might be able to use the DelayPools feature from Squid proxy.

Another possibility is the bandwidth throttle feature from Charles Proxy. Charles Proxy includes an Add-On for Firefox which will automatically configure the proxy settings.

share|improve this answer

There could be a way to trick the plugins mentioned in @Jonathan Sampson's answer to do throttling also for your local server.

If you have a high-speed connection and you're behind a modem/router that you are willing to configure (one time set up):

  1. Add an entry in your hosts file to point localhost to your external IP (that hopefully doesn't change much). You mentioned that you're using virtual hosts. You should add them as well.
  2. In your router, map external accesses to port 80 (or whatever) to port 80 of your local machine.
  3. Hopefully, the plugin won't think that the server you're trying to access is on a local IP and therefore won't throttle the connection.

Assuming your external IP doesn't chance all the time (especially if you're in an office with a dedicated line), this solution will help you to use those plugins, with a one-time or one-in-a-while setup in your modem/router.

share|improve this answer

protected by studiohack Dec 3 '11 at 3:01

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.

Not the answer you're looking for? Browse other questions tagged or ask your own question.