122

Is there a Firefox add-on available that will simulate various connection speeds (especially when testing from http://localhost)?

I know there are standalone applications to do it, but I'd rather have a plugin.

Thanks

Edit: Thanks to @UselessAdmin - FirefoxThrottle has now been updated to work on localhost!

123 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."

57

For several *NIX distros there are packages called 'iprelay'.

Debian

For example 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

Windows

Another tool which works on Windows: Internet Speed Simulator

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

14

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.

14

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.

7

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.

7

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!

7

Due to overwhelming popular demand Firefox Throttle has been updated, it can now throttle localhost connections.

5

Adding to DrJokepu's 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.

3

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

1

Get your cable modem from Time Warner, and you won't have to simulate a slow connection, it will just happen.

1

Perhaps what you actually need is the YSlow addon for FireBug?

0

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.

0

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.

0

Run a proxy server, config firefox to use the proxy server, and control the bandwidth on the proxy server.