Ubuntu 中互联网浏览速度缓慢

Ubuntu 中互联网浏览速度缓慢

我安装了 Windows 和 Ubuntu 双系统。当我使用 Windows 时,网页浏览速度比使用 Ubuntu 时快很多,但我不知道为什么。这就像存在很大的延迟,而不是最大速度较低,使用 Ubuntu 时在发生任何事情之前会有很大的延迟,这种情况一直发生在所有网站上。我从未配置过互联网连接,因为它可以立即工作。我通过与其他一些计算机共享的路由器建立了宽带连接。当我们设置路由器和互联网连接时,一切都是在 Windows 上完成的。我该怎么做才能解决这个问题?

答案1

你用的是 Firefox 吗?由于某种原因,在我的电脑上运行 Firefox 也非常慢。

我已经安装了 Google Chrome 和 Opera - 它们运行非常顺畅。

谷歌浏览器

另外-也尝试一下这个: (感谢 Ubuntu Geek)

打开 Firefox,在 URL 地址栏中输入 about:config,然后按回车键。要将 False 改为 True,请选择要更改的行,然后双击。在第二个选项更改上,右键单击并选择修改

  • network.http.pipelining > 使其成为现实

  • network.http.pipelining.maxrequests > 设置为 8 或 10

  • network.http.proxy.pipelining > 使其成为现实

  • network.dns.disableIPv6 > 使其成为现实

答案2

你可能患有缓冲区膨胀。当你传输或接收大量数据时,它会表现为巨大的延迟。

我已经成功完成了以下操作:

运行ifconfig并在其中查找“txqueuelen”。我见过的几乎每台机器上的默认值都是1000

将传输缓冲区的大小降低至50(几乎所有现代芯片组都支持0,但有些则不然,因此出于安全原因我们将选择 50)。

sudo ifconfig eth0 txqueuelen 50

要恢复原始设置:

sudo ifconfig eth0 txqueuelen 1000

值得注意的是,这可能会暂时使您脱离网络 - 您可能需要强制您的机器重新连接到网络(拔下/重新插入电缆sudo ifconfig eth0 up等)。

简而言之,TCP 预计数据包会被丢弃和/或无法及时确认。当遇到这些情况时,它会发送较少的数据以更好地适应网络。通过拥有庞大的传输队列,该队列会延迟 TCP 堆栈进行的任何调整,并且您会得到这些巨大的延迟和糟糕的吞吐量,因为您发送的数据超出了网络可以处理的范围。“反馈循环”会因缓冲区的大小而延迟。

Windows XP 不受影响,因为它对传出数据有其他限制,并且无法像 Linux 和其他更现代的操作系统那样使线路饱和。

答案3

我遇到过这个问题,我通过运行自己的 DNS 缓存解决了这个问题。这几乎肯定会加快速度,但谁能确切地说出你遇到的问题呢?我不知道你是否有 dnsmasq 或 bind9,但尝试卸载它们不会有什么坏处。所以让我们尝试删除它们(如果存在) - 用 djbdns 的 dnscache 部分替换它们,终止任何 dnsmasq 实例(如果正在运行)并删除 BIND 启动脚本(如果存在)。

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

然后我们需要告诉系统使用我们的缓存。

gksu gedit /etc/resolv.conf

编辑文件,使其看起来像此示例。此文件定义要使用的名称服务器、默认域和搜索后缀。搜索后缀使得仅使用完全限定域名的主机名部分即可运行查询。例如,当 example.com 是“search”参数的值时,“nslookup www”会自动变为“nslookup www.example.com”。

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

这有点花哨,但我们需要获取最新的根名称服务器。

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

我认为当我们使用 DHCP 时,resolv.conf 文件会被覆盖。因此,让我们给自己一个静态 IP 地址,删除压缩它的软件,然后编辑我们的接口文件以设置静态 IP 地址。

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

我的接口文件如下所示,但请根据您的配置进行修改。

# 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

现在我们重新开始吧。

sudo reboot

现在,您使用的是本地解析器和最新的根服务器。这比我从 ISP 那里得到的服务要快得多,也更可靠,后者的速度非常慢。这对解决您遇到的速度慢问题有帮助吗?

更新

或者 - 如果您不想运行自己的缓存(如上所述),并且按照下面的对话,您可以登录路由器并将其配置为提供备用 DNS 服务器,如 Google 和 OpenDNS:8.8.8.8、208.67.222.222、208.67.220.220。这也可以解决 DNS 速度慢的问题。

答案4

编辑您的/etc/resolv.conf文件,删除除 Google 的 DNS 服务器之外的所有内容:

nameserver 8.8.8.8
nameserver 8.8.4.4

&重新启动计算机。


进行 CURL 分析,找出导致问题的确切原因:https://askubuntu.com/a/147385/378854

相关内容