[转帖]Linux / Windows – NTttcp

linux,windows,ntttcp · 浏览次数 : 0

小编点评

**内容摘要** 文章提供如何在 Linux 和 Windows 平台上使用 `ntttcp` 命令进行 TCP 远程控制。它包含以下关键内容: * 使用 `-s` 参数指定发送端,默认值为 `xml`。 * 使用 `-l` 参数指定发送缓冲区大小。 * 使用 `-n` 参数指定接收缓冲区大小。 * 使用 `-p` 参数指定端口基础。 * 使用 `-sp` 参数指定同步数据端口。 * 使用 `-a` 参数指定等待 I/O 时的超时时间。 * 使用 `-u` 参数指定 UDP 发送/接收窗口大小。 * 使用 `-c` 参数指定 TCP 面向连接的 Cool-down 时间。 * 使用 `-w` 和 `-v` 参数指定 TCP 和 UDP 发送数据的 Warm-up 时间。 * 使用 `-v` 参数指定 TCP 发送数据的 verbose 模式。 * 使用 `-i` 参数指定 TCP 的 NIC IP 地址。 * 使用 `-xml` 参数指定 XML 文件名称。 * 使用 `-o` 参数指定输出文件名称。

正文

https://benjr.tw/94564

 

 

通常在 Linux 環境下會使用 iperf – https://benjr.tw/462 來當作測試網路效能工具,在 Windows 環境下 iperf 也有提供相對應的版本.

不過在 Microsoft 網站提到在 Azure 下建議使用 NTttcp 當作網路頻寬測試工具.
https://docs.microsoft.com/zh-tw/azure/virtual-network/virtual-network-bandwidth-testing

Amazon 的 AWS 文章也是建議使用 NTttcp.
https://aws.amazon.com/tw/premiumsupport/knowledge-center/network-throughput-benchmark-windows-ec2/

來看看這 NTttcp 如何使用.
測試環境 (虛擬機)

  • Windows 2012 R2 x86_64 – IP : 192.168.95.149
  • Ubuntu 16.04 x86_64 – IP 192.168.95.151

Windows

下載點 https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769 安裝就不說明了.

解開後建議存放在 c:\NTttcp” 資料夾,如果有設定 Windows 防火牆,需打開 NTttcp 權限.
下面設定防火牆指令需要有 administrator 權限,可以透過 command prompt (admin).

C:\Windows\system32>netsh advfirewall firewall add rule program=c:\NTttcp\amd64fre\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
Ok.

Linux

NTttcp 屬於 opensource 由 Windows 開發,透過 clone 就可以從 https://github.com 下載.

root@ubuntu:~# apt-get -y install build-essential
root@ubuntu:~# apt-get -y install git
root@ubuntu:~# git clone https://github.com/Microsoft/ntttcp-for-linux
root@ubuntu:~# cd ntttcp-for-linux/src
root@ubuntu:~/ntttcp-for-linux/src#  make && make install

如果是 CentOS 則需要透過 yum 下載 gcc 與 git 套件才能安裝.

Windows < Linux

Windows (Receiver)

c:\NTttcp\amd64fre>NTttcp.exe -r -m 1,0,192.168.95.149
Copyright Version 5.33

使用參數:

  • -r
    當作接收端 (receiver).
  • -m <mappings>
    mapping 需要三個參數 1. session count (連線數), 2. processor number(指定使用哪一個處理器來進行封包處理), 3. receiver address or name (接收端的 IP)
    範例: -m 4,0,1.2.3.4 表示為

     

    • 4 – 表示使用 4 個連線數 (sessions).
    • 0 – 表示使用所有的處理器.
    • 1.2.3.4 – 表示接收端的 IP.

Linux (Sender)

root@ubuntu:~# ntttcp -s -m 1,0,192.168.95.149 -N -t 30
NTTTCP for Linux 1.3.4
---------------------------------------------------------
12:15:49 INFO: main: set cpu affinity
12:15:49 INFO: Starting sender activity (no sync) ...
12:15:49 INFO: 1 threads created
12:16:19 INFO: Test run completed.
12:16:19 INFO: Test cycle finished.
12:16:20 INFO: 1 connections tested
12:16:20 INFO: #####  Totals:  #####
12:16:20 INFO: test duration    :30.01 seconds
12:16:20 INFO: total bytes      :303584
12:16:20 INFO: throughput       :80.93Kbps
12:16:20 INFO: cpu cores        :2
12:16:20 INFO: cpu speed        :2294.870MHz
12:16:20 INFO: user             :0.41%
12:16:20 INFO: system           :0.68%
12:16:20 INFO: idle             :98.89%
12:16:20 INFO: iowait           :0.00%
12:16:20 INFO: softirq          :0.02%
12:16:20 INFO: cycles/byte      :5028.13
12:16:20 INFO: cpu busy (all)   :4.11%
---------------------------------------------------------

使用參數:

  • -s
    當作傳送端 (Sender).
  • -m <mappings>
    mapping 需要三個參數 1. session count (連線數), 2. processor number(指定使用哪一個處理器來進行封包處理), 3. receiver address or name (接收端的 IP)
  • -t <Runtime>
    測試時間(單位為秒)
  • -N
    啟用非同步模式, Linux 使用 -N 而 Windows 使用 -ns 參數.

Windows > Linux

和剛剛測試差不多,需要注意的是 IP 變成 Linux (Receiver) , Windows 需要加 -ns (非同步模式).
Linux (Receiver)

root@ubuntu:~# ntttcp -r -m 1,0,192.168.95.151
NTTTCP for Linux 1.3.4
---------------------------------------------------------
16:30:43 INFO: main: set cpu affinity
16:30:43 INFO: 2 threads created

Windows (Sender)

c:\NTttcp\amd64fre>NTttcp.exe -s -m 1,0,192.168.95.151 -ns -t 30
Copyright Version 5.33
Network activity progressing...
 
Thread  Time(s) Throughput(KB/s) Avg B / Compl
======  ======= ================ =============
     0   30.005        92340.877     65536.000
 
#####  Totals:  #####
 
   Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
     2705.750000      30.005       1456.356           90.177
 
Throughput(Buffers/s) Cycles/Byte       Buffers
===================== =========== =============
             1442.826      22.975     43292.000
 
DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
     2223.829         1.347        3955.174          0.758
 
Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
     1948140            89900           0      0     94.620

其他參數:
-l <Length of buffer> [default TCP: 64K, UDP: 128]
-n <Number of buffers> [default: 20K]
-p <port base> [default: 5001]
-sp Synchronize data ports, if used -p must be same on every instance.
-to <timeout> in milliseconds. [default: 600000]
-a <outstanding I/O> [default: 2]
-rb <Receive buffer size> [default: -1]
-sb <Send buffer size> , default: 0 with -a; 8K otherwise
-ndl set TCP_NODELAY socket option
-u UDP send / recv
-w WSARecv / WSASend
-d Verify Flag
-cd <Cool-down> in seconds
-wu <Warm-up> in seconds
-v enable verbose mode
-6 enable IPv6 mode
-wa Sets the WAIT_ALL flag when using recv or WSARecv functions
-nic <NIC IP> Use NIC with <NIC IP> for sending data (sender only).
-xml [filename] save XML output to a file, by default saves to xml.txt

 
沒有解決問題,試試搜尋本站其他內容

与[转帖]Linux / Windows – NTttcp相似的内容:

[转帖]Linux / Windows – NTttcp

https://benjr.tw/94564 通常在 Linux 環境下會使用 iperf – https://benjr.tw/462 來當作測試網路效能工具,在 Windows 環境下 iperf 也有提供相對應的版本. 不過在 Microsoft 網站提到在 Azure 下建議使用 NTttc

[转帖]Linux和Windows网卡MTU的修改

Linux和Windows网卡MTU的修改 https://www.jianshu.com/p/cb3bd1e34f3a 实验结果 MTU参数只作用于发包,不作用于收包。 收包规格取决于网卡 发包规格取决于MTU参数 实验拓扑 WINDOWS 10:"VMware Network Adapter V

[转帖]Linux 内核 vs Windows 内核

https://cloud.tencent.com/developer/article/1798251?from=article.detail.1888155&areaSource=106000.15&traceId=en1H1V0Ctjdzz29-luoya Windows 和 Linux 可以说

[转帖]sqlserver on linux vs windows

简单对比下sqlserver on windows与linux的特点,发现新的继续添加 对比项sqlserver on windowssqlserver on Linux备注费用需要windows license开源,可使用免费的OS 功能齐全,企业版包含所有功能较少,企业版功能也不齐全 安装包大小

[转帖]查询机器序列号--Linux/esxi/windows

https://www.jianshu.com/p/6abaea79e0c3 Ipmitool--Linux&Esxi&Windows # ipmitool fru list|grep -i "chassis serial" Chassis Serial : J300**** Dmidecode--

[转帖]Linux 运维工具

Linux系统是目前仅次于Windows系统的一个开源系统,并且拥有比Windows系统更广泛的应用范围,从航天到军事、从科研到金融、从手机到电脑,你能够在任何一个需要操作系统的地方看到Linux的身影。 实际上Linux并不是一个真正的系统,它仅仅是一个有着上万行代码的系统内核,最初版本也只能够在

[转帖]linux 批量修改文件格式

将Windows上的shell脚本拷贝到Linux时,脚本的编码格式还是docs,需要改成unix才可执行,在文件不多的情况下可以直接手动更改,但是在脚本文件比较多的时候,手动改起来就太麻烦了,此时就可以使用shell命令批量来进行更改。 批量更改脚本如下: for i in `find . -ty

【转帖】【奇技淫巧】Linux | 安全保障防火墙-iptables

虽然说Linux在安全方面确实相当于windows要更加可靠一些,但一般使用其作为服务器的我们,也不能大意,也是需要严格限制网络传输过程中的出入规则。上篇文章我们有聊到统计网络的信息,这篇文章来学习一下比较著名的防火墙iptables,它已经有十几年的历史了,算是不折不扣的Linux系统的功臣。 一

[转帖]Firefox 105,Chrome 105,Edge 105 官网离线下载 (macOS, Linux, Windows)

https://sysin.org/blog/chrome-edge-firefox-download/ 备忘一下, 天下只剩三种(主流)浏览器: Apple Safari Mozilla Firefox Google Chrome(Chromium)【国外各种(Microsoft Edge、Ope

[转帖]静态路由实例:如何在 macOS、FreeBSD、Linux、Windows、Cisco 和 VMware 上添加静态路由

https://sysin.org/blog/static-routing/ 学习一下呢. 本文描述主流系统和产品添加静态路由的方法,一些具备 WEB 管理界面的产品不在讨论范围,比如防火墙、路由器等多数产品具备直观的操作界面。 macOS 1、添加路由命令(临时) 与 Linux 类似,但是网关没