[转]Linux如何测试网口10/100/1000M

总结方法:

1、两台linux 终端都装有iperf工具

2、一台作为服务端:

TCP: iperf -s


UDP:iperf -s -u

3、一台作为客户端:

TCP:iperf -c [服务端ip]


UDP:iperf -c [服务端ip] -u -b 1000m


带宽计算:

1000M=1000Mbps=1000M bytes /sec

1bit=8byte

93.9Mbits/sec=93.9*8=751.2 Mbps

------------------------------------------------------------------------------------------------------------------------------------------------------------------

https://blog.csdn.net/yunweimao/article/details/106687997

iperf是一种命令行工具,用于通过测量服务器可以处理的最大网络吞吐量来诊断网络速度问题。它在遇到网络速度问题时特别有用,通过该工具可以确定哪个服务器无法达到最大吞吐量。

IPerf开始出现的时候是在03年,版本是基于1.7.0 进行介绍和解析的,貌似1.7.0还是使用C++编写比较多,后面到了IPerf2版本,C++和C结合,现在出来一个法国人团队另起炉灶重构出不向下兼容的IPerf3,他们开了一个论坛专门讨论维护,但因为是法语所以跟我也无法沟通,所以也没怎么上去看,一开始入门的时候就只能上处链接的文章,还好有所帮助。

现在IPerf的官方网站为:https://iperf.fr/

iperf分为两种版本,Unix/Linux版和Windows版,Unix/Linux版更新比较快,版本最新。Windows版更新慢。Windows版的iperf叫jperf,或者xjperf。jperf是在iperf基础上开发了更好的UI和新的功能。

1、Centos安装iperf

 [root@docker-02 ~]# yum install iperf

2、如何使用iperf

1、必须在测试的两台计算机上同时安装iPerf。如果在个人计算机上使用基于Unix或 Linux的操作系统,则可以在本地计算机上安装iPerf。

2、但是,如果要测试网络提供商的吞吐量,最好使用另一台服务器作为终点,因为本地ISP可能会施加影响测试结果的网络限制。

3、TCP客户端和服务器

iperf需要两个系统,因为一个系统必须充当服务端,另外一个系统充当客户端,客户端连接到需要测试速度的服务端。

3.1在需要测试的两台电脑上,以服务器模式启动iperf

 #iperf -s

 ------------------------------------------------------------

 Server listening on TCP port 5001

 TCP window size: 85.3 KByte (default)

 ------------------------------------------------------------

3.2在第二台电脑上,以客户端模式启动iperf连接到第一台电脑,替换198.51.100.5为本地电脑的ip地址

 #iperf -c 198.51.100.5

 ------------------------------------------------------------

 Client connecting to 198.51.100.5, TCP port 5001

 TCP window size: 45.0 KByte (default)

 ------------------------------------------------------------

 [ 3] local 198.51.100.6 port 50616connected with 198.51.100.5 port 5001

 [ ID] Interval Transfer Bandwidth

 [ 3] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec

3.3这时可以在第一步中的服务端终端看到连接和结果

 ------------------------------------------------------------

 Server listening on TCP port 5001

 TCP window size: 85.3 KByte (default)

 ------------------------------------------------------------

 [ 4] local 198.51.100.5 port 5001connected with 198.51.100.6 port 50616

 [ ID] Interval Transfer Bandwidth

 [ 4] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec

要停止iperf服务进程,请按CTRL+c

4、UDP客户端和服务器

使用iperf,还可以测试通过UDP连接实现的最大吞吐量,这里我用两台linux服务器做实验。

4.1启动UDP iperf服务

 [root@docker-02 ~]# iperf -s -u

 ------------------------------------------------------------

 Server listening on UDP port 5001

 Receiving 1470byte datagrams

 UDP buffer size: 8.00 MByte (default)

 ------------------------------------------------------------

4.2将客户端连接到iperf UDP服务器

 [root@docker-02 ~]# iperf -c 172.17.120.50 -u

 ------------------------------------------------------------

 Client connecting to 172.17.120.50, UDP port 5001

 Sending 1470byte datagrams, IPG target: 11215.21 us (kalman adjust)

 UDP buffer size: 8.00 MByte (default)

 ------------------------------------------------------------

 [  3] local 172.17.120.51 port 41017connected with 172.17.120.50 port 5001

 read failed: Connection refused

 [  3] WARNING: did not receive ack of last datagram after 1tries.

 [ ID] Interval       Transfer     Bandwidth

 [  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec

 [  3] Sent 892datagrams

1.05Mbits/sec远低于TCP测试中观察到的值,它也远远低于1GB 的最大出站贷款上限,这是因为默认情况下,iperf讲UDP客户端的贷款限制为每秒1Mbit。

可以用-b标志更改此值,将数字替换为要测试的最大带宽速率。如果需要测试网络速度,可以将数字设置为高于网络提供商提供的最大带宽上线:

 [root@docker-02 ~]# iperf -c 172.17.120.50 -u -b 1000m

 ------------------------------------------------------------

 Client connecting to 172.17.120.50, UDP port 5001

 Sending 1470byte datagrams, IPG target: 11.76 us (kalman adjust)

 UDP buffer size: 8.00 MByte (default)

 ------------------------------------------------------------

 [  3] local 172.17.120.51 port 46870connected with 172.17.120.50 port 5001

 read failed: Connection refused

 [  3] WARNING: did not receive ack of last datagram after 5tries.

 [ ID] Interval       Transfer     Bandwidth

 [  3]  0.0-10.0 sec  1.16 GBytes  1000Mbits/sec

 [  3] Sent 850341datagrams

这将告诉客户端我们希望尽可能达到每秒1000Mbits的最大值,该-b标志仅在使用UDP连接时有效,因为iperf未在TCP客户端上设置带宽限制。

5、双向测试

在某些情况下,可能希望测试两台服务器以获得最大吞吐量。使用iperf提供的内置双向测试功能可以轻松完成此测试。

5.1要测试两个连接,从客户端运行一下命令,替换ip为服务端ip地址

 #iperf -c 198.51.100.5 -d

 ------------------------------------------------------------

 Server listening on TCP port 5001

 TCP window size: 85.3 KByte (default)

 ------------------------------------------------------------

 ------------------------------------------------------------

 Client connecting to 198.51.100.5, TCP port 5001

 TCP window size: 351KByte (default)

 ------------------------------------------------------------

 [ 3] local 198.51.100.6 port 50618connected with 198.51.100.5 port 5001

 [ 5] local 198.51.100.6 port 5001connected with 198.51.100.5 port 58650

 [ ID] Interval Transfer Bandwidth

 [ 5] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec

 [ 3] 0.0-10.2 sec 1.28 GBytes 1.08 Gbits/sec

结果是iperf将在客户端服务器上启动服务器和客客户端(198.51.100.6)连接。完成此操作后,iperf会将iperf服务器连接到客户端,该连接现在既充当服务器连接又充当客户端连接。

5.2在服务器是哪个,可以看到

 ------------------------------------------------------------

 Client connecting to 198.51.100.6, TCP port 5001

 TCP window size: 153KByte (default)

 ------------------------------------------------------------

 [ 6] local 198.51.100.5 port 58650connected with 198.51.100.6 port 5001

 [ 6] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec

 [ 5] 0.0-10.2 sec 1.28 GBytes 1.08 Gbits/sec

6、常用选项

选项

描述

-F

更改运行测试的格式。例如,您可以使用-f k以每秒Kbits而不是每秒Mbits的速度获得结果。有效选项包括m(Mbits,默认),k(Kbits),K(KBytes)和M(MBytes)。

-V

强制iPerf使用IPv6而不是IPv4。

-i

更改带宽测试之间的间隔。例如,-i 60将每60秒生成一个新的带宽报告。默认值为零,执行一次带宽测试。

-p

更改端口。未指定时,默认端口为5001.您必须在客户端和服务器上都使用此标志。

-B

将iPerf绑定到特定的接口或地址。如果通过server命令传递,则将设置传入接口。如果通过client命令传递,则将设置传出接口。

————————————————

版权声明:本文为CSDN博主「运维猫(运维开发)」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/yunweimao/article/details/106687997

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342