我有一台运行 Ubuntu 16.04.03 LTS 的 HP Proliant 服务器,当我运行速度测试时,我的下载速度仅为 3.5Mbps。在同一网络上的 Windows 笔记本电脑上,我的下载速度为 29Mbps。
它们都使用千兆网络上的千兆网卡有线连接,服务器直接连接到 ADSL 路由器。服务器的网卡是:
lspci -ks 02:00.0
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5723 Gigabit Ethernet PCIe (rev 10)
Subsystem: Hewlett-Packard Company NC107i Integrated PCI Express Gigabit Server Adapter
Kernel driver in use: tg3
Kernel modules: tg3
我尝试过禁用 ipv6,但没什么效果。有人能建议我尝试什么吗?提前谢谢。
更新时间:2018 年 1 月 12 日
我现在认为这不是网卡的问题。我测试了在局域网上复制 100-500MB 的文件,可以轻松获得 300+Mbps 的传输速率。所以显然网卡没有太大问题。
出现此问题的原因似乎是我使用的是 speedtest-cli,它是使用 speedtest.net 服务器网络的 python 实现。当我运行 speedtest-cli 时,它报告的速度为 ~3.5Mbps,当我测试通过互联网下载大型文件时,我得到的速度为 ~3.5MBps(字节而不是位)。
$wget --output-document=/dev/null http://ipv4.download.thinkbroadband.com/100MB.zip
--2018-01-12 15:39:24-- http://ipv4.download.thinkbroadband.com/100MB.zip
Resolving ipv4.download.thinkbroadband.com
(ipv4.download.thinkbroadband.com)... 80.249.99.148
Connecting to ipv4.download.thinkbroadband.com
(ipv4.download.thinkbroadband.com)|80.249.99.148|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/zip]
Saving to: ‘/dev/null’
/dev/null 100%[===================>] 100.00M 3.60MB/s in 28s
2018-01-12 15:39:57 (3.60 MB/s) - ‘/dev/null’ saved [104857600/104857600]
$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from TalkTalk (<redacted>)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by CloudConnX (Eastbourne) [3.95 km]: 2525.195 ms
Testing download speed................................................................................
Download: 3.63 Mbit/s
Testing upload speed................................................................................................
Upload: 2.85 Mbit/s
我想知道 speedtest-cli 是否校准错误,报告的是位而不是字节,但我不这么认为。在这种情况下,这似乎是软件中的一个错误。
我想知道是否有其他人见过这种行为?
答案1
在终端中运行你正在使用的正确以太网端口号。这里我假设它是“eth0”:
sudo /sbin/ethtool eth0
并查看双工模式是半双工还是全双工。如果是半双工,请使用以下命令将其更改为全双工:
sudo /sbin/ethtool -s eth0 duplex full
您还可以使用以下命令将以太网端口更改为半双工:
sudo /sbin/ethtool -s eth0 duplex half
ethtool
然而,如果尚未安装,则需要安装第一个。
答案2
我找到了我的问题的答案......
看来我设置了错误的 DNS 名称服务器。我的服务器的名称服务器是路由器的旧 IP 地址和路由器的当前 IP 地址。虽然这最终运行良好,但它似乎减慢了查找网站的速度,这导致 speedtest-cli 在 40 次测试下载期间超时,导致下载速度缓慢。
解决方法是将 */etc/network/interfaces* 中的名称服务器更新为 8.8.8.8 并弹出网络适配器,现在速度是更正常的 29Mbps。
答案3
使用可启动 SSD 运行 ubuntu 16.04.7 LTS 时,我发现互联网连接在一个位置非常慢,但在另一个位置却很好。使用第二个 16.04 可启动 SSD 时,互联网连接在两个位置都很好。
我注意到,广泛使用 docker 创建了许多 docker 网络(15 个),这些网络在标准网络管理器 GUI 中可显示为活动网络连接。
docker network prune
将这些网络减少到只有三个,问题就解决了。我认为其中一个网络阻碍了互联网请求。