Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?

share|improve this question
    
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
1  
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. –  Mark Jan 14 '11 at 20:24
    
sudo apt-get remove bind9 dnsmasq-base this command killed both my ethernet and wifi connections. DO NOT REMOVE dnsmasq-base took me a few hours to get it back up. –  user151360 Apr 22 '13 at 22:08
    
Everyone knows you need SABAYON for EXTREME BROWSING! sabayon.org | glad to help! –  Shiki Apr 22 '13 at 22:34
add comment

5 Answers

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 127.0.0.1      # Use the local resolver first.
nameserver 208.67.222.222 # OpenDNS
nameserver 208.67.220.220 # 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
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

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?

UPDATE

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: 8.8.8.8, 208.67.222.222, 208.67.220.220. This would fix slow DNS also.

share|improve this answer
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 127.0.0.1 to the /etc/dhcp3/dhclient.conf file. –  Javier Rivera Jan 13 '11 at 15:09
show 10 more comments

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.

share|improve this answer
add comment

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: Slow wireless with an Intel 4965

share|improve this answer
    
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
    
Yes, I use Wubi to to dual boot Ubuntu and windows too and the slow internet not only applies to Firefox, but all applications that requires a connection to the Internet. –  Kevin May 25 '12 at 3:19
add comment

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

share|improve this answer
    
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
add comment

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.

share|improve this answer
    
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
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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