I have a dual boot set up with Windows and Ubuntu. When I'm using Windows, web browsing is a lot faster than when I'm using Ubuntu and I don't know why. It's like there's just a big latency rather than the maximum speed is lower, there's a big delay before anything happens when using Ubuntu, it happens with all websites all the time. I've never configured the Internet connection because it just worked straight away. I have a broadband connection through a router shared with some other computers. When we set up the router and Internet connection everything was done with Windows. What could I do to fix this?

  • 1
    I marked this as a favourite cause I want to see where this is going. What do you mean by "a big delay"? What browser are you using? Are you using a proxy? Chances are your problem isn't the OS at all. Chances are it's not a real delay either, but just the way firefox loads websites. Anyway, I'll wait for you to add more information. – RolandiXor Jan 13 '11 at 3:57
  • 2
    Have you turned IPV6 in your browser? – karthick87 Jan 13 '11 at 4:35
  • In both windows and Ubuntu I'm using firefox and I have not turned on IPV6 if it's not on by default. By a big delay I mean when using Ubuntu a page will take about 15 seconds to load rather than a few, but I can still download at 100's of kb per second from repositories. – Ayeayeron Jan 14 '11 at 20:24
  • I have the same problem too, and I've narrowed down the cause, but I do not have the answer yet. I believe it has something to do with the router, because when I took it to the Public Library, the wifi became normal again. Hopefully this helps Here's a link to my question: askubuntu.com/q/132317/61067 – Kevin May 24 '12 at 1:00
  • Do you also have a dual boot system with Ubuntu and Windows, and if so, do you also experience this problem (at home/work or wherever you access the Internet through your router) in Firefox on Ubuntu but not in Firefox on Windows? If so, please add this information to your answer--while incomplete, that would still make your answer, telling the OP to check the router, a reasonable answer. (Then go ahead and flag this comment as obsolete.) If your situation is different, though, then I'd say delete this answer and post a new question to get further help with your own (different) problem. – Eliah Kagan May 24 '12 at 3:03

Are you using Firefox? It's dog slow on my PC as well for some reason.

I've installed Google Chrome and Opera - and they just fly.

google chrome

Also - try this as well: (thanks to Ubuntu Geek)

Open your Firefox and type about:config at URL address bar and hit enter. To make a False into True, select the line to change, and double click. On the 2nd option change, right click and select Modify

  • network.http.pipelining > Make it True

  • network.http.pipelining.maxrequests > Make it 8 or 10

  • network.http.proxy.pipelining > Make it True

  • network.dns.disableIPv6 > Make it True

  • It works for me. +1. – Tahir Akram Oct 6 '11 at 20:17
  • Sped things up a tun for me. +1 – BenjaminRH Feb 2 '12 at 16:55
  • That's odd, in my experience Google Chrome is significantly slower than Firefox. Opera is a good one too. – NoBugs Apr 27 '14 at 2:11
  • Thanks, I know this is an old question, but I found your answer prety good. For me Chrome has been a big problem, it does not remember my logins and had to re-type all the passwords after each restart. FF is working really good but it was damn slow! – FarhadA Dec 27 '16 at 5:08

You may be suffering from bufferbloat. It manifests itself as huge latencies when you're transmitting or receiving a lot of data.

I've had success doing the following:

Run ifconfig and look for "txqueuelen" in it. The default on almost every machine I've seen is 1000.

Lower the size of your transmit buffer to 50. (Almost every modern chipset will support 0, but some don't, so we'll go with 50 for safety reasons).

sudo ifconfig eth0 txqueuelen 50

To restore the original setting:

sudo ifconfig eth0 txqueuelen 1000

As of note, this MAY bump you off the network temporarily - you may need to force your machine to reconnect to the network (unplug/replug cable, sudo ifconfig eth0 up, etc.)

The short version of what this does - TCP expects packets to be dropped and/or not acknowledged in a timely manner. When it encounters these situations it sends out less data to better adapt to the network. By having a huge transmit queue, the queue delays any adaptation the TCP stack would make, and you get these huge latencies and bad throughput because you're sending more data than the network can handle. The "feedback loop" is delayed by the size of the buffers.

Windows XP isn't affected, because it's got other limits on outgoing data and can't saturate lines like Linux & other more modern OS's can.

  • Ok so I don't know what happened. I tried this. Internet stopped completely, I got scared and reverted back to 1000. Internet got fast. – Aayush Oct 14 '11 at 6:56
  • FYI - It doesn't persist after reboot – Broam Oct 14 '11 at 15:00
  • I just realized that, it's the next morning. How to fix this permanently? – Aayush Oct 15 '11 at 6:32
  • I'd start with editing /etc/rc.local, which is run as root. – Broam Jul 11 '12 at 14:52

I have experienced that problem, which I fixed by running my own DNS cache. This will almost certainly speed things up, though who could say definitely the problem you have? I don't know if you have dnsmasq or bind9, but it won't hurt to try to uninstall them. So let's try to remove them, if they exist - replacing them with the dnscache portion of djbdns, killing off any instance of dnsmasq - if running - and removing the BIND start-up script - if it exists.

sudo apt-get remove bind9 dnsmasq-base
sudo apt-get install djbdns dnscache-run
sudo killall -9 dnsmasq
sudo update-rc.d -f bind9 remove

Then we'll need to tell the system to use our cache.

gksu gedit /etc/resolv.conf

Edit the file to look like this example. This file defines which name servers to use, the default domain, and the search suffix. The search suffix makes it possible to run queries using only the hostname portion of a fully-qualified domain name. For exmaple, 'nslookup www' automagically becomes 'nslookup www.example.com' when example.com is the value of the "search" parameter.

nameserver      # Use the local resolver first.
nameserver # OpenDNS
nameserver # OpenDNS
domain example.com
search example.com

This is a little fancy, but we need to get the lastest root name servers.

sudo dnsip $(dnsqr ns . | sed -e '/answer/!d;s/\(.*\)NS \(.*\)/\2/') | sudo tee /etc/dnscache/root/servers/@

I think the resolv.conf file is overwritten when we use DHCP. So let's give ourselves a static IP address, removing the software that squashes it, and editing our interfaces file to set up the static IP address.

sudo apt-get purge network-manager network-manager-gnome
gksu gedit /etc/network/interfaces

My interfaces file looks as follows, but modify yours to your configuration.

# Loopback
auto lo
iface lo inet loopback

# First network card (attached to NAT router, attached to cable internet)
auto eth0
iface eth0 inet static

Now let's just restart.

sudo reboot

Now you are using a local resolver and the latest root servers. This is much, much faster and more reliable than what I happen to get from my ISP, which is so very slow. Does this help the slow-problem you have?


Or - if you don't want to run your own cache (above), and per the conversation below, you could just log into your router and configure it to provide alternate DNS servers, like Google and OpenDNS:,, This would fix slow DNS also.

  • 1
    1) Why do you need the dns root servers for a DNS Cache?. That's a full DNS for me. – Javier Rivera Jan 13 '11 at 14:43
  • 1
    2) Static IP, just to avoid DHCP changing the DNS?. Isn't it overkill?. Why have you used the interfaces file instead of network manager? – Javier Rivera Jan 13 '11 at 14:43
  • 3) Windows uses the main DNS FIRST. It only fallbacks to the other DNS if the primary fails. What is true is that it keeps using the secondary for a couple of minutes. – Javier Rivera Jan 13 '11 at 14:44
  • @JavierRivera Well, on (1) the root servers change, so we want whichever ones are current; on (2) maybe you can configure network manager not to squash the file, but when it does squash it, we can't use the local cache; on (3) thanks! I stand corrected. – user8290 Jan 13 '11 at 14:53
  • 1) Sure, but if you are querying the root DNS this is not a DNS cache, it's just a DNS server. At least IMHO. (2) For me the proper way is to add prepend domain-name-servers to the /etc/dhcp3/dhclient.conf file. – Javier Rivera Jan 13 '11 at 15:09

I know this is an old thread but as I was looking for the answer so would be others so I decided to post.

I had the same problem . In windows everything works fine but in ubuntu some websites would not open taking forever to open. I solved it by changing my modem from "DIAL ON DEMAND" mode to "ALWAYS ON" mode.


Edit your /etc/resolv.conf file, remove everything but Google's DNS servers:


& restart the computer.

Make a CURL analysis to find out what exactly is causing the trouble: https://askubuntu.com/a/147385/378854

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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