自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

【博文推薦】安全運(yùn)維之:網(wǎng)絡(luò)性能評估工具Iperf詳解

運(yùn)維 系統(tǒng)運(yùn)維
Iperf是一款基于TCP/IP和UDP/IP的網(wǎng)絡(luò)性能測試工具,它可以用來測量網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)質(zhì)量,還可以提供網(wǎng)絡(luò)延遲抖動、數(shù)據(jù)包丟失率、最大傳輸單元等統(tǒng)計信息。網(wǎng)絡(luò)管理員可以根據(jù)這些信息了解并判斷網(wǎng)絡(luò)性能問題,從而定位網(wǎng)絡(luò)瓶頸,解決網(wǎng)絡(luò)故障。

本文出自南非螞蟻的BLOG,如需與本文作者討論互動,請直接點(diǎn)擊這里跳轉(zhuǎn)。

[[121496]]

一、網(wǎng)絡(luò)性能評估工具Iperf

網(wǎng)絡(luò)性能評估主要是監(jiān)測網(wǎng)絡(luò)帶寬的使用率,將網(wǎng)絡(luò)帶寬利用***化是保證網(wǎng)絡(luò)性能的基礎(chǔ),但是由于網(wǎng)絡(luò)設(shè)計不合理、網(wǎng)絡(luò)存在安全漏洞等原因,都會導(dǎo)致網(wǎng)絡(luò)帶寬利用率不高。要找到網(wǎng)絡(luò)帶寬利用率不高的原因,就需要對網(wǎng)絡(luò)傳輸進(jìn)行監(jiān)控,此時就需要用到一些網(wǎng)絡(luò)性能評估工具,而Iperf就是這樣一款網(wǎng)絡(luò)帶寬測試工具,本節(jié)將詳細(xì)介紹一下Iperf的使用。

1、Iperf能做什么

Iperf是一款基于TCP/IP和UDP/IP的網(wǎng)絡(luò)性能測試工具,它可以用來測量網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)質(zhì)量,還可以提供網(wǎng)絡(luò)延遲抖動、數(shù)據(jù)包丟失率、***傳輸單元等統(tǒng)計信息。網(wǎng)絡(luò)管理員可以根據(jù)這些信息了解并判斷網(wǎng)絡(luò)性能問題,從而定位網(wǎng)絡(luò)瓶頸,解決網(wǎng)絡(luò)故障。

下面介紹Iperf的主要功能。

(1)TCP方面

q 測試網(wǎng)絡(luò)帶寬。

q 支持多線程,在客戶端與服務(wù)端支持多重連接。

q 報告MSS/MTU值的大小。

q 支持TCP窗口值自定義并可通過套接字緩沖。

(2)UDP方面

q 可以設(shè)置指定帶寬的UDP數(shù)據(jù)流

q 可以測試網(wǎng)絡(luò)抖動值、丟包數(shù)

q 支持多播測試

q 支持多線程,在客戶端與服務(wù)端支持多重連接。

二、Iperf的安裝與使用

iperf可以運(yùn)行在任何IP網(wǎng)絡(luò)上,包括本地以太網(wǎng)、接入因特網(wǎng)、Wi-Fi網(wǎng)絡(luò)等。在工作模式上,iperf運(yùn)行于服務(wù)器、客戶端模式下,其服務(wù)器端主要用于監(jiān)聽到達(dá)的測試請求,而客戶端主要用于發(fā)起連接會話,因此要使用iperf,需要兩臺服務(wù)器,一臺運(yùn)行在服務(wù)器模式下,另一臺運(yùn)行在客戶端模式下。

1.安裝iperf

iperf支持Win32、Linux、FreeBSD、MacOS X、OpenBSD和Solaris等多種操作系統(tǒng)平臺。讀者可以從iperf官方主頁http://iperf.fr/ 下載各種版本,目前***的版本是iperf3.0,這里下載的軟件包為iperf-3.0.tar.gz,安裝過程如下:

[root@ networkserver ~]# tar zxvf iperf-3.0.tar.gz

[root@ networkserver ~]# cd iperf

[root@ networkserver iperf]# make

[root@ networkserver iperf]# make install

這樣,iperf就安裝完成了。

2.iperf參數(shù)介紹

在完成iperf安裝后,執(zhí)行“iperf3 –h”即可顯示iperf的詳細(xì)用法。iperf的命令行選項(xiàng)共分為三類,分別是客戶端與服務(wù)器端公用選項(xiàng)、服務(wù)器端專用選項(xiàng)和客戶端專用選項(xiàng),下面對常用的選項(xiàng)進(jìn)行介紹。

服務(wù)器端專用選項(xiàng)的含義如表1所示。

表1 服務(wù)器端專用選項(xiàng)的含義

命令行參數(shù)

含義描述

-s

將iperf以server模式啟動,例如:iperf3 –s,iperf3默認(rèn)啟動的監(jiān)聽端口為5201,可以通過“-p”選項(xiàng)修改默認(rèn)監(jiān)聽端口

-D

將iperf作為后臺守護(hù)進(jìn)程運(yùn)行,例如:iperf3 -s -D

客戶端專用選項(xiàng)的含義如表2.5所示。

表2 客戶端專用選項(xiàng)的含義

命令行參數(shù)

含義描述

-c

將iperf以client模式啟動

例如:iperf3 -c 192.168.12.168,其中192.168.12.168是server端的IP地址

-u

指定使用UDP協(xié)議

-b [K|M|G]

指定UDP模式使用的帶寬,單位bits/sec。此選項(xiàng)與“-u”選項(xiàng)相關(guān)。默認(rèn)值是1 Mbit/sec

-t

指定傳輸數(shù)據(jù)包的總時間。iperf將在指定的時間內(nèi),重復(fù)發(fā)送指定長度的數(shù)據(jù)包。默認(rèn)是10秒鐘

-n [K|M|G]

指定傳輸數(shù)據(jù)包的字節(jié)數(shù),例如:iperf3 -c 192.168.12.168 –n 100M

-l

指定讀寫緩沖區(qū)的長度。TCP方式默認(rèn)大小為8KB,UDP方式默認(rèn)大小為1470字節(jié)

-P

指定客戶端與服務(wù)端之間使用的線程數(shù)。默認(rèn)是1個線程。需要客戶端與服務(wù)器端同時使用此參數(shù)

-R

切換數(shù)據(jù)發(fā)送接收模式,例如默認(rèn)客戶端發(fā)送,服務(wù)器端接收,設(shè)置此參數(shù)后,數(shù)據(jù)流向變?yōu)榭蛻舳私邮?,服?wù)器端發(fā)送

-w

指定套接字緩沖區(qū)大小,在TCP方式下,此設(shè)置為TCP窗口的大小。在UDP方式下,此設(shè)置為接受UDP數(shù)據(jù)包的緩沖區(qū)大小,用來限制可以接收數(shù)據(jù)包的***值

-B

用來綁定一個主機(jī)地址或接口,這個參數(shù)僅用于具有多個網(wǎng)絡(luò)接口的主機(jī)。在UDP模式下,此參數(shù)用于綁定和加入一個多播組

-M

設(shè)置TCP***信息段的值

-N

設(shè)置TCP無延時

客戶端與服務(wù)器端公用選項(xiàng)的含義如表3所示。

表3 客戶端與服務(wù)器端公用選項(xiàng)的含義

命令行參數(shù)

含義描述

-f [k|m|g|K|M|G]

指定帶寬輸出單位,“[k|m|g|K|M|G]”分別表示以Kbits, Mbits, Gbits, KBytes, MBytes,GBytes顯示輸出結(jié)果,默認(rèn)以Mbits為單位,例如:iperf3 -c 192.168.12.168 -f M

-p

指定服務(wù)器端使用的端口或客戶端所連接的端口,例如:

iperf3 -s -p 9527;

iperf3 -c 192.168.12.168 -p 9527

-i

指定每次報告之間的時間間隔,單位為秒。如果設(shè)置為非零值,就會按照此時間間隔輸出測試報告。默認(rèn)值為1。

例如:iperf3 -c 192.168.12.168 -i 2

-F

指定文件作為數(shù)據(jù)流進(jìn)行帶寬測試。

例如:iperf3 -c 192.168.12.168 -F web-ixdba.tar.gz

2.3.3 Iperf應(yīng)用實(shí)例

要使用iperf,首先要啟用一個服務(wù)端,這里假定服務(wù)端的IP地址為192.168.12.168,在此服務(wù)器上運(yùn)行“iperf3 -s”即可開啟iperf的服務(wù)器模式。在默認(rèn)情況下,iperf3將在服務(wù)端打開一個5201監(jiān)聽端口,此時就可以將另一臺服務(wù)器作為客戶端執(zhí)行iperf功能測試了。

1.測試TCP吞吐量

為了確定網(wǎng)卡的***吞吐量,可以在任意客戶端運(yùn)行iperf命令,iperf將嘗試從客戶端盡可能快地向服務(wù)端發(fā)送數(shù)據(jù)請求,并且會輸出發(fā)送的數(shù)據(jù)量和網(wǎng)卡平均帶寬值。圖1是一個最簡單的帶寬測試命令。

clip_image002

圖1通過iperf測試網(wǎng)絡(luò)帶寬利用率

從圖1可以看出,iperf默認(rèn)的運(yùn)行時間是10秒鐘,每隔一秒鐘輸出一次傳輸狀態(tài),同時還可以看到每秒鐘傳輸?shù)臄?shù)據(jù)量在112MB左右,剛好與“Bandwidth”列的值對應(yīng)起來,網(wǎng)卡的帶寬速率維持在941Mbits/sec左右,而測試的服務(wù)器是千兆網(wǎng)卡,這個測試值也基本合理。在輸出的***,iperf還給出了總的數(shù)據(jù)發(fā)送、接收量,并給出了帶寬速率平均值,通過這些值,基本可以判斷網(wǎng)絡(luò)帶寬是否正常,網(wǎng)絡(luò)傳輸狀態(tài)是否穩(wěn)定。

iperf提供很多參數(shù),可以多角度、全方位地測試網(wǎng)絡(luò)帶寬利用率,例如,要改變iperf運(yùn)行的時間和輸出頻率,可以通過“-t”和“-i”參數(shù)來實(shí)現(xiàn),如圖2所示。

clip_image004

圖2 添加“-t”和“-i”參數(shù)后的iperf輸出

從圖2 可以看出,輸出狀態(tài)的間隔變?yōu)槊?秒鐘一次,總共執(zhí)行測試時間為20秒,測試的帶寬速率仍然保持在941Mbits/sec左右,唯一變化的是失敗重傳次數(shù)增加了。

為了模擬大量的數(shù)據(jù)傳輸,也可以指定要發(fā)送的數(shù)據(jù)量,這可以通過“-n”參數(shù)來實(shí)現(xiàn)。在指定“-n”參數(shù)后,“-t”參數(shù)失效,iperf在傳輸完畢指定大小的數(shù)據(jù)包后,自動結(jié)束,如圖3所示。

clip_image006

圖3 iperf客戶端通過“-n”參數(shù)指定要傳輸?shù)臄?shù)據(jù)量

圖3的例子是指定發(fā)送一個5GB左右的數(shù)據(jù)包,并且每隔10秒鐘輸出一次傳輸狀態(tài),從這個輸出可以看出,當(dāng)失敗重傳次數(shù)較多時,傳輸速率急速下降。

有時候,為了模擬更真實(shí)的TCP應(yīng)用,iperf客戶端允許從一個特定的文件發(fā)送數(shù)據(jù),這可以通過“-F”參數(shù)實(shí)現(xiàn),如圖4所示。

clip_image008

圖4 iperf客戶端通過“-F”參數(shù)指定文件來發(fā)送數(shù)據(jù)

在圖4的例子中,通過“-F”參數(shù)指定了一個webdata.tar.gz文件作為iperf要傳輸?shù)臄?shù)據(jù),在使用此參數(shù)時,需要同時指定一個“-t”參數(shù)來設(shè)置要測試傳輸?shù)臅r間,這個時間盡量設(shè)置長一些,因?yàn)樵谀J(rèn)傳輸時間10秒內(nèi),這個文件可能還沒有傳完。

在使用iperf進(jìn)行網(wǎng)絡(luò)帶寬測試時,如果沒有指定發(fā)送方式,iperf客戶端只會使用一個單一的線程,而iperf是支持多線程的,可以使用iperf提供的“-P”參數(shù)來設(shè)置多線程的數(shù)目,通過使用多線程,可以在一定程度上增加網(wǎng)絡(luò)的吞吐量。

下面通過兩個例子進(jìn)行簡單對比,圖5是iperf使用單線程傳輸1.86GBytes數(shù)據(jù)所消耗的時間和帶寬使用情況。為了速率單位統(tǒng)一,這里使用“-f”參數(shù)將輸出結(jié)果都通過MBytes來顯示。

clip_image010

圖5 iperf在單線程模式下的傳輸時間和傳輸速率

從圖5中可以看出,傳輸1.86GBytes的數(shù)據(jù)消耗了17秒的時間,平均帶寬速率為112MBytes/sec(注意單位).下面再看看使用多線程后,iperf傳輸同樣大小數(shù)據(jù)量所消耗的時間和平均帶寬速率,如圖6所示。

clip_image012

圖6 iperf使用多線程后的數(shù)據(jù)傳輸狀態(tài)

這里通過“-P”參數(shù)開啟了2個多線程,從傳輸時間上看,傳輸1.86GBytes的數(shù)據(jù),消耗時間為10.79秒,比之前單線程的傳輸時間少了近7秒鐘,在平均帶寬速率上,從之前單線程的112MBytes/sec提高到177MBytes/sec,從這個結(jié)果可以看出,多線程對網(wǎng)絡(luò)傳輸性能的提高不小。

2 . 測試UDP丟包和延遲

iperf也可以用于UDP數(shù)據(jù)包吞吐量、丟包率和延遲指標(biāo),但是由于UDP協(xié)議是一個非面向連接的輕量級傳輸協(xié)議,并且不提供可靠的數(shù)據(jù)傳輸服務(wù),因此對UDP應(yīng)用的關(guān)注點(diǎn)不是傳輸數(shù)據(jù)有多快,而是它的丟包率和延時指標(biāo)。通過iperf的“-u”參數(shù)即可測試UDP應(yīng)用的傳輸性能,圖7測試的是在iperf客戶端傳輸100MB的UDP數(shù)據(jù)包的輸出結(jié)果.:

clip_image014

圖7 iperf傳輸100MB的UDP數(shù)據(jù)包的輸出結(jié)果

在圖7中,重點(diǎn)關(guān)注虛線下的一段內(nèi)容,在這段輸出中,“Jitter”列表示抖動時間,或者稱為傳輸延遲,“Lost/Total”列表示丟失的數(shù)據(jù)報和總的數(shù)據(jù)報數(shù)量,后面的0.33%是平均丟包的比率,“Datagrams”列顯示的是總共傳輸數(shù)據(jù)報的數(shù)量。

這個輸出結(jié)果過于簡單,要了解更詳細(xì)的UDP丟包和延時信息,可以在iperf服務(wù)端查看,因?yàn)樵诳蛻舳藞?zhí)行傳輸測試的同時,服務(wù)端也會同時顯示傳輸狀態(tài),如圖8所示。

clip_image016

圖8 iperf服務(wù)端顯示的UDP傳輸狀態(tài)

在這個輸出中,詳細(xì)記錄了在傳輸過程中,每個階段的傳輸延時和丟包率,在UDP應(yīng)用中隨著傳輸數(shù)據(jù)的增大,丟包率和延時也隨之增加。對于延時和丟包可以通過改變應(yīng)用程序來緩解或修復(fù),例如視頻流應(yīng)用,可以通過緩存數(shù)據(jù)的方式而可以容忍更大的延時。

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2024-08-26 15:25:42

2015-06-02 16:16:17

mysql優(yōu)化mysql讀寫分離mysql主從復(fù)制

2015-05-13 11:12:19

Linux企業(yè)運(yùn)維技巧

2016-01-07 15:21:26

2015-04-07 11:47:18

運(yùn)維管理IT運(yùn)維

2015-09-29 10:26:51

pythonlogging模塊

2019-03-19 08:41:38

Linux運(yùn)維變更

2015-05-15 10:04:28

localhost

2019-06-06 08:50:08

運(yùn)維監(jiān)控工具

2024-04-24 13:59:55

微軟Windows

2015-03-09 14:53:04

OracleOracle DGDataGuard F

2020-04-30 15:00:17

運(yùn)維Ansible自動化

2014-12-11 10:31:22

網(wǎng)絡(luò)優(yōu)化KVM

2013-05-16 09:28:21

2015-04-08 14:44:40

2018-09-26 05:33:49

2015-04-13 09:38:24

數(shù)據(jù)安全大數(shù)據(jù)云安全

2011-03-09 12:52:57

iPerf網(wǎng)絡(luò)性能

2014-09-22 11:24:18

運(yùn)維

2025-03-21 07:07:59

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號