AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 7976
Accepted
Jacob Schoen
Jacob Schoen
Asked: 2010-10-18 09:04:13 +0800 CST2010-10-18 09:04:13 +0800 CST 2010-10-18 09:04:13 +0800 CST

如何测试两个盒子之间的网络速度?

  • 772

我在家里设置了一个千兆网络和一些基于 Ubuntu 的机器。出于完全的好奇,我想检查两个盒子之间的速度。我对速度或其他任何事情都没有任何问题,这真的只是我心中的怪胎好奇。另外,也许结果会让我知道是否有改进的余地,或者我的某些配置有误。

那么如何正确测试 Ubuntu 机器之间的网络速度呢?

networking testing bandwidth
  • 8 8 个回答
  • 301149 Views

8 个回答

  • Voted
  1. Best Answer
    Oli
    2010-10-18T09:15:26+08:002010-10-18T09:15:26+08:00

    我用iperf. 这是一种客户端服务器安排,您可以在一端以服务器模式运行它,并从网络另一端的另一台计算机连接到它。

    一台两台机器运行:

    sudo apt-get install iperf
    

    我们将iperf在其中一台机器上启动服务器:

    iperf -s
    

    然后在另一台计算机上,告诉iperf以客户端身份连接:

    iperf -c <address of other computer>
    

    在客户端计算机上,您将看到如下内容:

    oli@bert:~$ iperf -c tim
    ------------------------------------------------------------
    Client connecting to tim, TCP port 5001
    TCP window size: 16.0 KByte (default)
    ------------------------------------------------------------
    [  3] local 192.168.0.4 port 37248 connected with 192.168.0.5 port 5001
    [ ID] Interval       Transfer     Bandwidth
    [  3]  0.0-10.0 sec  1.04 GBytes    893 Mbits/sec
    

    当然,如果您在服务器机器上运行防火墙,则需要允许端口 5001 上的连接或使用-p标志更改端口。


    nc如果你愿意的话,你可以用普通的旧(netcat)做几乎同样的事情。在服务器机器上:

    nc -vvlnp 12345 >/dev/null
    

    dd客户端可以通过隧道通过管道传输千兆字节的零nc。

    dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
    

    作为解调:

    $ dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
    Connection to 10.10.0.2 12345 port [tcp/*] succeeded!
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 9.11995 s, 118 MB/s
    

    那里的时间由 给出,dd但它应该足够准确,因为它只能以管道接受它的速度输出。如果你对此不满意,你可以在一个time电话中结束整个事情。

    请记住,结果以兆字节为单位,因此将其乘以 8 以获得每秒兆位的速度。上面的演示以 944mbps 运行。

    • 357
  2. wujj123456
    2014-05-14T23:33:42+08:002014-05-14T23:33:42+08:00

    与 Oli 对 iperf 的建议相同。只想补充几点:

    1. 还有一些 Windows 客户端可以跨平台进行测试。
    2. -t <seconds>更改测试长度。更改同时连接的数量。例如, 将 10 个连接一起测试 30 秒,并给出汇总结果以及 10 个单独的连接速度。-P <n>iperf -c [target IP] -P 10 -t 30
    3. 你不需要 sudo。您可以简单地在http://iperf.fr/下载二进制文件。它应该工作。使用 下载它wget,使用 使其可执行chmod,然后您可以直接运行二进制文件。它完美地工作。

    我发现,使用默认设置,单次连接速度波动很大。但是,使用 3 个以上的并行连接,结果在我的千兆字节交换机上更加一致。(一致@ 910-920Mbps)

    • 26
  3. bm-bergmotte
    2019-06-26T07:23:33+08:002019-06-26T07:23:33+08:00

    下面的命令不需要额外的包,但需要 SSH 访问:

    ssh [email protected] 'dd if=/dev/zero bs=1GB count=3 2>/dev/null' | dd of=/dev/null status=progress
    

    示例输出:

    2992238080 bytes (3.0 GB) copied, 27.010250 s, 111 MB/s
    5859375+0 records in
    5859375+0 records out
    3000000000 bytes (3.0 GB) copied, 27.1943 s, 110 MB/s
    

    该命令将一个 3GB(1000^3 字节)的全零虚拟文件打印到远程服务器上的标准输出,该文件通过 SSH 打印(传输)到本地服务器的标准输出,然后在本地通过管道传输到/dev/null(即忽略)。您甚至可以在执行测试时查看测试的进度。

    当然不如其他工具精确,但我的用例是调试备份过程,我想在不安装额外软件包的情况下测试网络速度是否是问题。

    • 20
  4. VeLKerr
    2015-08-07T11:40:00+08:002015-08-07T11:40:00+08:00

    使用此脚本,您可以轻松地测试您的机器和某个远程主机之间的连接速度。使用示例:

    $ scp-speed-test.sh user@remote_host 80000
    
    • user@remote_host是您的目标主机(您必须对此主机具有 ssh 访问权限)
    • 80000是测试文件的近似大小(以 kbs 为单位),它将被接收到远程主机。这不是强制性的论点。
    • 9
  5. jwbensley
    2016-03-27T12:37:59+08:002016-03-27T12:37:59+08:00

    如果您想在较低级别测试您的以太网 LAN,您可以使用 Etherate,它是一个免费的 Linux CLI 以太网测试工具:

    https://github.com/jwbensley/Etherate

    将其作为 iPerf(非常好!)等工具通过 IP 和 TCP 或 UDP 运行。直接通过以太网/OSI 第 2 层进行 Etherate 测试。

    • 5
  6. Everton
    2018-02-13T12:15:09+08:002018-02-13T12:15:09+08:00

    还有一些其他不错的命令行工具可用于两台主机之间的带宽基准测试:

    nuttcp

    server$ nuttcp -S
    client$ nuttcp -v -v -i1 1.1.1.1 ;# 1.1.1.1 is server's address
    

    尼平

     server$ nepim
     client$ nepim -d -c 1.1.1.1 ;# 1.1.1.1 is server's address
    

    戈本

     server$ goben
     client$ goben -hosts 1.1.1.1 ;# 1.1.1.1 is server's address
    
    • 3
  7. THESorcerer
    2018-07-27T23:24:41+08:002018-07-27T23:24:41+08:00

    正如我在最佳答案的评论中指出的那样,该解决方案还不够好,因为客户端/服务器没有优化到......挤压每一点速度

    我的解决方案:

    在两侧制作一个 ramdisk(因此,您不受存储速度的限制,我建议您使用 ramfs 而不是 tmpfs 制作它们,因此它们不会进入交换状态......请注意不要留下至少 512M 的可用内存对于系统,如果你有千兆以太网,这是必需的,在那个速度下,即使 SSD 可能会减慢速度)在服务器上安装 apache,然后创建一个到 ramdisk 的链接,在 ramdisk 上创建几个大文件(100M-1G,你可以用dd from /dev/random 或者复制,如果你手头有一些)然后去客户端并使用高级下载程序下载它们(也在该端的 ramdisk 上),我使用lftp

    哦,好吧,差异很大,从 iperf 报告的 75mbps 和 9.5M/s netcat

    使用我的解决方案达到11.18M/s :

    1591129421 bytes transferred in 136 seconds (11.18M/s)
    
    • 0
  8. Nyamiou The Galeanthrope
    2010-10-18T09:16:41+08:002010-10-18T09:16:41+08:00

    很容易将您的计算机插入第一个盒子,将另一个盒子插入第一个盒子。然后从您的计算机 ping 第一个框保存结果,ping 另一个框并进行减法。

    • -4

相关问题

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

  • 我如何参与 Ubuntu 的测试和 QA?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve