国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
TCP/UDP網(wǎng)絡(luò)性能測試工具 - Netperf - 路漫漫其修遠(yuǎn)兮, 吾將上下而求索! - 51Testing軟件測試網(wǎng) - Powered by X-Space

TCP/UDP網(wǎng)絡(luò)性能測試工具 - Netperf

上一篇 /下一篇  2007-10-05 20:28:54/ 個人分類:網(wǎng)絡(luò)測試工具

概述

    在構(gòu)建或管理一個網(wǎng)絡(luò)系統(tǒng)時,我們更多的是關(guān)心網(wǎng)絡(luò)的可用性,即網(wǎng)絡(luò)是否連通,而對于其整體的性能往往考慮不多,或者即使考慮到性能的問題,但是卻發(fā)現(xiàn)沒有合適的手段去測試網(wǎng)絡(luò)的性能。 
dm2]w1T9z d0    當(dāng)開發(fā)出一個網(wǎng)絡(luò)應(yīng)用程序后,我們會發(fā)現(xiàn),在實際的網(wǎng)絡(luò)環(huán)境使用中,網(wǎng)絡(luò)應(yīng)用程序的使用效果不 是很理想,問題可能出現(xiàn)在程序的開發(fā)上面,也有可能由于實際的網(wǎng)絡(luò)環(huán)境中存在著瓶頸。面對這種問題,程序員一般會一籌莫展,原因就在于不掌握一些網(wǎng)絡(luò)性能測量的工具。  
3m OC;`$pp0    在本文中,首先介紹網(wǎng)絡(luò)性能測量的一些基本概念和方法,然后結(jié)合 netperf 工具的使用,具體的討論如何測試不同情況下的網(wǎng)絡(luò)性能。 
6N?sC!hISx0網(wǎng)絡(luò)性能測試概述
51Testing軟件測試網(wǎng)i*A3J7v9h ZjL&P

網(wǎng)絡(luò)性能測量的五項指標(biāo)

   測量網(wǎng)絡(luò)性能的五項指標(biāo)是:  

可用性(availability)
響應(yīng)時間(response time)
網(wǎng)絡(luò)利用率(networkutilization)
網(wǎng)絡(luò)吞吐量(network throughput)
網(wǎng)絡(luò)帶寬容量(network bandwidthcapacity)
51Testing軟件測試網(wǎng)?Pn O8N*c~$UH'D

1. 可用性
g.D4S]p N8r.XUW0    測試網(wǎng)絡(luò)性能的第一步是確定網(wǎng)絡(luò)是否正常工作,最簡單的方法是使用 ping 命令。通過向遠(yuǎn)端的機(jī)器發(fā)送 icmp echo request,并等待接收 icmp echo reply 來判斷遠(yuǎn)端的機(jī)器是否連通,網(wǎng)絡(luò)是否正常工作。 

&EFx0D ?9K `{ v0    Ping 命令有非常豐富的命令選項,比如 -c 可以指定發(fā)送 echo request 的個數(shù),-l 可以指定每次發(fā)送的 ping 包大小。 
51Testing軟件測試網(wǎng)2t(Hz*f+fA
    網(wǎng)絡(luò)設(shè)備內(nèi)部一般有多個緩沖池,不同的緩沖池使用不同的緩沖區(qū)大小,分別用來處理不同大小的分組(packet)。例如交換機(jī)中通常具有三種類型的包緩沖:一類針對小的分組,一類針對中等大小的分組,還有一類針對大的分組。為了測試這樣的網(wǎng)絡(luò)設(shè)備,測試工具必須要具有發(fā)送不同大小分組的能力。 Ping 命令的 -l 就可以使用在這種場合。
p/Ox.D z6Y.X6pU6wd02. 響應(yīng)時間
2?5N.KU8`0    Ping 命令的 echo request/reply 一次往返所花費時間就是響應(yīng)時間。有很多因素會影響到響應(yīng)時間,如網(wǎng)段的負(fù)荷,網(wǎng)絡(luò)主機(jī)的負(fù)荷,廣播風(fēng)暴,工作不正常的網(wǎng)絡(luò)設(shè)備等等。 
51Testing軟件測試網(wǎng)7EMa2Ee*aNR
    在網(wǎng)絡(luò)工作正常時,記錄下正常的響應(yīng)時間。當(dāng)用戶抱怨網(wǎng)絡(luò)的反應(yīng)時間慢時,就可以將現(xiàn)在的響應(yīng)時間與正常的響應(yīng)時間對比,如果兩者差值的波動很大,就能說明網(wǎng)絡(luò)設(shè)備存在故障。 51Testing軟件測試網(wǎng)c9N3Q,g C9M HX
3. 網(wǎng)絡(luò)利用率
J)F#]#@5Q,@W t0    網(wǎng)絡(luò)利用率是指網(wǎng)絡(luò)被使用的時間占總時間(即被使用的時間+空閑的時間)的比例。比如,Ethernet 雖然是共享的,但同時卻只能有一個報文在傳輸。因此在任一時刻,Ethernet 或者是 100% 的利用率,或者是 0% 的利用率。
a-g5P"s^T)B9j0    計算一個網(wǎng)段的網(wǎng)絡(luò)利用率相對比較容易,但是確定一個網(wǎng)絡(luò)的利用率就比較復(fù)雜。因此,網(wǎng)絡(luò)測試工具一般使用網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)帶寬容量來確定網(wǎng)絡(luò)中兩個節(jié)點之間的性能。51Testing軟件測試網(wǎng)"ub$[)B+F1t
4. 網(wǎng)絡(luò)吞吐量
[9b!Gd+~W0XAq0    網(wǎng)絡(luò)吞吐量是指在某個時刻,在網(wǎng)絡(luò)中的兩個節(jié)點之間,提供給網(wǎng)絡(luò)應(yīng)用的剩余帶寬。
vF9C:~?p+JD$`0   網(wǎng)絡(luò)吞吐量可以幫組尋找網(wǎng)絡(luò)路徑中的瓶頸。比如,即使 client 和 server 都被分別連接到各自的 100M Ethernet上,但是如果這兩個 100M 的Ethernet 被 10M 的 Ethernet 連接起來,那么 10M 的 Ethernet就是網(wǎng)絡(luò)的瓶頸。
Ov,}aS9O0    網(wǎng)絡(luò)吞吐量非常依賴于當(dāng)前的網(wǎng)絡(luò)負(fù)載情況。因此,為了得到正確的網(wǎng)絡(luò)吞吐量,最好在不同時間(一天中的不同時刻,或者一周中不同的天)分別進(jìn)行測試,只有這樣才能得到對網(wǎng)絡(luò)吞吐量的全面認(rèn)識。
*{ @:I/bgC.f0   有些網(wǎng)絡(luò)應(yīng)用程序在開發(fā)過程的測試中能夠正常運行,但是到實際的網(wǎng)絡(luò)環(huán)境中卻無法正常工作(由于沒有足夠的網(wǎng)絡(luò)吞吐量)。這是因為測試只是在空閑的網(wǎng)絡(luò)環(huán)境中,沒有考慮到實際的網(wǎng)絡(luò)環(huán)境中還存在著其它的各種網(wǎng)絡(luò)流量。所以,網(wǎng)絡(luò)吞吐量定義為剩余帶寬是有實際意義的。51Testing軟件測試網(wǎng) y2|!S"_Q~E
5. 網(wǎng)絡(luò)帶寬容量 

8Y3gmYE?DA%Y0    與網(wǎng)絡(luò)吞吐量不同,網(wǎng)絡(luò)帶寬容量指的是在網(wǎng)絡(luò)的兩個節(jié)點之間的最大可用帶寬。這是由組成網(wǎng)絡(luò)的設(shè)備的能力所決定的。
*P B'hK'|cH0    測試網(wǎng)絡(luò)帶寬容量有兩個困難之處:在網(wǎng)絡(luò)存在其它網(wǎng)絡(luò)流量的時候,如何得知網(wǎng)絡(luò)的最大可用帶寬;在測試過程中,如何對現(xiàn)有的網(wǎng)絡(luò)流量不造成影響。網(wǎng)絡(luò)測試工具一般采用 packet pairs 和 packet trains 技術(shù)來克服這樣的困難。

3F(~ i$VS?mk0
收集網(wǎng)絡(luò)性能數(shù)據(jù)的方式

    當(dāng)確定了網(wǎng)絡(luò)性能的測試指標(biāo)以后,就需要使用網(wǎng)絡(luò)測試工具收集相應(yīng)的性能數(shù)據(jù),分別有三種從網(wǎng)絡(luò)獲取數(shù)據(jù)的方式: 51Testing軟件測試網(wǎng)I\4B1Mm*Lw E
1. 通過snmp協(xié)議直接到網(wǎng)絡(luò)設(shè)備中獲取,如net-snmp工具
xkY4?9opE3@02. 偵聽相關(guān)的網(wǎng)絡(luò)性能數(shù)據(jù),典型的工具是tcpdump 51Testing軟件測試網(wǎng)3Tq5|:a[b\6Z
3. 自行產(chǎn)生相應(yīng)的測試數(shù)據(jù),如本文中使用的netperf工具

w-gg5u.R\0
Netperf

   Netperf是一種網(wǎng)絡(luò)性能的測量工具,主要針對基于TCP或UDP的傳輸。Netperf根據(jù)應(yīng)用的不同,可以進(jìn)行不同模式的網(wǎng)絡(luò)性能測試,即批量數(shù)據(jù)傳輸(bulk datatransfer)模式和請求/應(yīng)答(request/reponse)模式。Netperf測試結(jié)果所反映的是一個系統(tǒng)能夠以多快的速度向另外一個系統(tǒng)發(fā)送數(shù)據(jù),以及另外一個系統(tǒng)能夠以多塊的速度接收數(shù)據(jù)。
1`p2e%N+s,W%}|0   Netperf工具以client/server方式工作。server端是netserver,用來偵聽來自client端的連接,client端是netperf,用來向server發(fā)起網(wǎng)絡(luò)測試。在client與server之間,首先建立一個控制連接,傳遞有關(guān)測試配置的信息,以及測試的結(jié)果;在控制連接建立并傳遞了測試配置信息以后,client與server之間會再建立一個測試連接,用來來回傳遞著特殊的流量模式,以測試網(wǎng)絡(luò)的性能。

zd fhd |iZ0
TCP網(wǎng)絡(luò)性能

    由于TCP協(xié)議能夠提供端到端的可靠傳輸,因此被大量的網(wǎng)絡(luò)應(yīng)用程序使用。但是,可靠性的建立是要付出代價的。TCP協(xié)議保證可靠性的措施,如建立并維護(hù)連接、控制數(shù)據(jù)有序的傳遞等都會消耗一定的網(wǎng)絡(luò)帶寬。
@4U!wQ/a"]X0    Netperf可以模擬三種不同的TCP流量模式: 51Testing軟件測試網(wǎng)Z1G%cF9J9_7m _ g
1) 單個TCP連接,批量(bulk)傳輸大量數(shù)據(jù)51Testing軟件測試網(wǎng)~x$ZNdVl
2) 單個TCP連接,client請求/server應(yīng)答的交易(transaction)方式
qvD1B3Ekb03) 多個TCP連接,每個連接中一對請求/應(yīng)答的交易方式
51Testing軟件測試網(wǎng) Kp:JrCr

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

    UDP沒有建立連接的負(fù)擔(dān),但是UDP不能保證傳輸?shù)目煽啃?,所以使用UDP的應(yīng)用程序需要自行跟蹤每個發(fā)出的分組,并重發(fā)丟失的分組。
3R-z`$lg1E0Netperf可以模擬兩種UDP的流量模式:
51Testing軟件測試網(wǎng)([ P"z w^'B xko
1) 從client到server的單向批量傳輸
Df_(NLAvf)D02) 請求/應(yīng)答的交易方式

I3M5P7u%Gkj0    由于UDP傳輸?shù)牟豢煽啃裕谑褂胣etperf時要確保發(fā)送的緩沖區(qū)大小不大于接收緩沖區(qū)大小,否則數(shù)據(jù)會丟失,netperf將給出錯誤的結(jié)果。因此,對于接收到分組的統(tǒng)計不一定準(zhǔn)確,需要結(jié)合發(fā)送分組的統(tǒng)計綜合得出結(jié)論。 
51Testing軟件測試網(wǎng)axSKH]

Netperf的命令行參數(shù)

    在unix系統(tǒng)中,可以直接運行可執(zhí)行程序來啟動netserver,也可以讓inetd或xinetd來自動啟動netserver。
rBXB.EXQ2Y$}0   當(dāng)netserver在server端啟動以后,就可以在client端運行netperf來測試網(wǎng)絡(luò)的性能。netperf通過命令行參數(shù)來控制測試的類型和具體的測試選項。根據(jù)作用范圍的不同,netperf的命令行參數(shù)可以分為兩大類:全局命令行參數(shù)、測試相關(guān)的局部參數(shù),兩者之間使用--分隔:
!Yd1V;LH2Z.w0netperf [global options]-- [test-specific options]
.j:F `?}&o-u/A0這里我們只解釋那些常用的命令行參數(shù),其它的參數(shù)讀者可以查詢netperf的man手冊。
;HK?g K)O9\0-H host :指定遠(yuǎn)端運行netserver的server IP地址。

twbI4D&z0p0-l testlen:指定測試的時間長度(秒)51Testing軟件測試網(wǎng):f XA5n+h,Lh
-t testname:指定進(jìn)行的測試類型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR,在下文中分別對它們說明。
N%@.jc {?(t+r{0    在后面的測試中,netserver運行在192.168.0.28,server與client通過局域網(wǎng)連接(100M Hub)。 字串3
51Testing軟件測試網(wǎng)-KNF/li'NI

Netperf測試網(wǎng)絡(luò)性能

測試批量(bulk)網(wǎng)絡(luò)流量的性能51Testing軟件測試網(wǎng)D S^2Afo
    批量數(shù)據(jù)傳輸?shù)湫偷睦佑衒tp和其它類似的網(wǎng)絡(luò)應(yīng)用(即一次傳輸整個文件)。根據(jù)使用傳輸協(xié)議的不同,批量數(shù)據(jù)傳輸又分為TCP批量傳輸和UDP批量傳輸。51Testing軟件測試網(wǎng)Hj\;qUe'd5g
1. TCP_STREAM 
51Testing軟件測試網(wǎng) yo{#R?Lx3w
Netperf缺省情況下進(jìn)行TCP批量傳輸,即-t TCP_STREAM。測試過程中,netperf向netserver發(fā)送批量的TCP數(shù)據(jù)分組,以確定數(shù)據(jù)傳輸過程中的吞吐量:
4f,C(H ` C.O&HZ&K0 ./netperf -H 192.168.0.28 -l 6051Testing軟件測試網(wǎng)pV{B#dr
TCP STREAM TEST to 192.168.0.28
A RE8@-[:UlI0Recv   Send    Send51Testing軟件測試網(wǎng)\PR8T:ER%`!dg
Socket Socket  Message  Elapsed
cU` YOP2f }0Size   Size    Size     Time     Throughput
gQ;p1ap#r0bytes  bytes   bytes    secs.    10^6bits/sec51Testing軟件測試網(wǎng)%vu }ncb+f:pv
51Testing軟件測試網(wǎng)l?K2xGHNg
87380  16384  16384    60.00      88.00

vWa!^-G|0從netperf的結(jié)果輸出中,我們可以知道以下的一些信息: 
51Testing軟件測試網(wǎng)^^&`1jf\ k:^ R
1) 遠(yuǎn)端系統(tǒng)(即server)使用大小為87380字節(jié)的socket接收緩沖51Testing軟件測試網(wǎng)*Ix^)z|n)F3g
2) 本地系統(tǒng)(即client)使用大小為16384字節(jié)的socket發(fā)送緩沖51Testing軟件測試網(wǎng)ePI-d2u?l`5vO
3) 向遠(yuǎn)端系統(tǒng)發(fā)送的測試分組大小為16384字節(jié)
` e k|.r04) 測試經(jīng)歷的時間為60秒
A(h5H1x?f8a05) 吞吐量的測試結(jié)果為88Mbits/秒51Testing軟件測試網(wǎng)E/AcbW(TSm
    在缺省情況下,netperf向發(fā)送的測試分組大小設(shè)置為本地系統(tǒng)所使用的socket發(fā)送緩沖大小。 51Testing軟件測試網(wǎng)Su9L3q:A
    TCP_STREAM方式下與測試相關(guān)的局部參數(shù)如下表所示: 
51Testing軟件測試網(wǎng)8E!a+nY'^"f

%y/k9@-aL/?;X0參數(shù)

To7T3L0awAN0
51Testing軟件測試網(wǎng)8@+MMU-z2[s3u?e m

說明51Testing軟件測試網(wǎng) `,] s+ueAg

*`6K3RxxU+IyH7~0-s size51Testing軟件測試網(wǎng)c9W ENT(n0i}

51Testing軟件測試網(wǎng)9Qqw kg8Y

設(shè)置本地系統(tǒng)的socket發(fā)送與接收緩沖大小51Testing軟件測試網(wǎng)1E L}hU

51Testing軟件測試網(wǎng)?jSnpX:p7BCK

-S size51Testing軟件測試網(wǎng)w;g-Ya7??

Y\v5Z!x$d(F0設(shè)置遠(yuǎn)端系統(tǒng)的socket發(fā)送與接收緩沖大小51Testing軟件測試網(wǎng) D[K`ol7Q

51Testing軟件測試網(wǎng)%ko7sQ&R P

-m size

*P$n([h5{D0
51Testing軟件測試網(wǎng) J9L?0zY{*| ?'R_ j

設(shè)置本地系統(tǒng)發(fā)送測試分組的大小51Testing軟件測試網(wǎng)U1r)w(pQ Up&FE j

V8F']-b#S.Sa0-M size

JZ.P,q&n\0

Iy V}_Nq0設(shè)置遠(yuǎn)端系統(tǒng)接收測試分組的大小

d6L+}q&Q0

c Pt8u?I%bGY0-D51Testing軟件測試網(wǎng)9BD-rcM

51Testing軟件測試網(wǎng)#M%oY)_9]pN {

對本地與遠(yuǎn)端系統(tǒng)的socket設(shè)置TCP_NODELAY選項51Testing軟件測試網(wǎng)4K1]h5D5Fu


R(H&?7f1[Z-_D0    通過修改以上的參數(shù),并觀察結(jié)果的變化,我們可以確定是什么因素影響了連接的吞吐量。例如,如果懷疑路由器由于缺乏足夠的緩沖區(qū)空間,使得轉(zhuǎn)發(fā)大的分組時存在問題,就可以增加測試分組(-m)的大小,以觀察吞吐量的變化:
9dp9r8}(XW6\{0 ./netperf -H 192.168.0.28 -l 60 -- -m 204851Testing軟件測試網(wǎng)}/S%d(P6MN6y?'V1z z
TCP STREAM TEST to 192.168.0.2851Testing軟件測試網(wǎng)?M*b^ Z"`Bh
Recv   Send    Send51Testing軟件測試網(wǎng)0F'k U@P#|tw3H!g
Socket Socket  Message  Elapsed
[ W5izEW+`'s7o0Size   Size    Size     Time     Throughput
8F`+h!zQ(v0bytes  bytes   bytes    secs.    10^6bits/sec
4RAw"s/V0
T+iL q7y,l n&K087380  16384   2048    60.00      87.62
51Testing軟件測試網(wǎng);aJ&Zw*V}/]!p
51Testing軟件測試網(wǎng)n1j\8k;R,iE]&I!y3nE\#e
    在這里,測試分組的大小減少到2048字節(jié),而吞吐量卻沒有很大的變化(與前面例子中測試分組大小為16K字節(jié)相比)。相反,如果吞吐量有了較大的提升,則說明在網(wǎng)絡(luò)中間的路由器確實存在緩沖區(qū)的問題。
P/e7Aff6G }Kr02. UDP_STREAM51Testing軟件測試網(wǎng);UqO(a%sW\NJ4^{*L
   UDP_STREAM用來測試進(jìn)行UDP批量傳輸時的網(wǎng)絡(luò)性能。需要特別注意的是,此時測試分組的大小不得大于socket的發(fā)送與接收緩沖大小,否則netperf會報出錯提示:51Testing軟件測試網(wǎng)-Q3OBPOErE3f`
./netperf -t UDP_STREAM -H 192.168.0.28 -l 6051Testing軟件測試網(wǎng)A$B]!p8a){!cL
UDP UNIDIRECTIONAL SEND TEST to 192.168.0.2851Testing軟件測試網(wǎng) L"yEddv IB
udp_send: data send error: Message too long51Testing軟件測試網(wǎng)!T7~1E9EL$W
    為了避免這樣的情況,可以通過命令行參數(shù)限定測試分組的大小,或者增加socket的發(fā)送/接收緩沖大小。UDP_STREAM方式使用與TCP_STREAM方式相同的局部命令行參數(shù),因此,這里可以使用-m來修改測試中使用分組的大?。?span style="display: none;">51Testing軟件測試網(wǎng)cSSj9ne
 ./netperf -t UDP_STREAM -H 192.168.0.28 -- -m 102451Testing軟件測試網(wǎng)X#NvRz
UDP UNIDIRECTIONAL SEND TEST to 192.168.0.2851Testing軟件測試網(wǎng)Q8f?~r2A$T
Socket  Message  Elapsed      Messages51Testing軟件測試網(wǎng)jF Yr"|'f
Size    Size     Time         Okay Errors   Throughput51Testing軟件測試網(wǎng) A.@F?;Q'|*?.nX E-O
bytes   bytes    secs            #      #   10^6bits/sec51Testing軟件測試網(wǎng)ATI fABx

E.ii7GA)Yp(JN065535    1024   9.99       114127      0      93.55
%JD1p%H,Yj~6R2X065535           9.99       114122             93.5451Testing軟件測試網(wǎng)5Nqk"sv0F?B
    UDP_STREAM方式的結(jié)果中有兩行測試數(shù)據(jù),第一行顯示的是本地系統(tǒng)的發(fā)送統(tǒng)計,這里的吞吐量表示netperf向本地socket發(fā)送分組的能力。但是,我們知道,UDP是不可靠的傳輸協(xié)議,發(fā)送出去的分組數(shù)量不一定等于接收到的分組數(shù)量。 字串151Testing軟件測試網(wǎng)HG%X$_pt5kf,@
   第二行顯示的就是遠(yuǎn)端系統(tǒng)接收的情況,由于client與server直接連接在一起,而且網(wǎng)絡(luò)中沒有其它的流量,所以本地系統(tǒng)發(fā)送過去的分組幾乎都被遠(yuǎn)端系統(tǒng)正確的接收了,遠(yuǎn)端系統(tǒng)的吞吐量也幾乎等于本地系統(tǒng)的發(fā)送吞吐量。但是,在實際環(huán)境中,一般遠(yuǎn)端系統(tǒng)的socket緩沖大小不同于本地系統(tǒng)的socket緩沖區(qū)大小,而且由于UDP協(xié)議的不可靠性,遠(yuǎn)端系統(tǒng)的接收吞吐量要遠(yuǎn)遠(yuǎn)小于發(fā)送出去的吞吐量。
51Testing軟件測試網(wǎng)!VT.m0r+j,S5b+d{[
測試請求/應(yīng)答(request/response)網(wǎng)絡(luò)流量的性能 

    另一類常見的網(wǎng)絡(luò)流量類型是應(yīng)用在client/server結(jié)構(gòu)中的request/response模式。在每次交易(transaction)中,client向server發(fā)出小的查詢分組,server接收到請求,經(jīng)處理后返回大的結(jié)果數(shù)據(jù)。

:HA1Q(]m*L rB'a0

1. TCP_RR 

    TCP_RR方式的測試對象是多次TCP request和response的交易過程,但是它們發(fā)生在同一個TCP連接中,這種模式常常出現(xiàn)在數(shù)據(jù)庫應(yīng)用中。數(shù)據(jù)庫的client程序與server程序建立一個TCP連接以后,就在這個連接中傳送數(shù)據(jù)庫的多次交易過程。51Testing軟件測試網(wǎng)4U7gS-kX3F
./netperf -t TCP_RR -H 192.168.0.28
4[vhm2_:O&N0TCP REQUEST/RESPONSE TEST to 192.168.0.28
BE+_%O$R.Wz:P0Local /Remote
UAZ%N `0Socket Size   Request  Resp.   Elapsed  Trans.
}&`8iW0H)dW0Send   Recv   Size     Size    Time     Rate
:j*B;~v$AsA)E9I lI0bytes  Bytes  bytes    bytes   secs.    per sec
t,xh#@gh P051Testing軟件測試網(wǎng)%a|x;Z-R-k_
16384  87380  1        1       10.00    9502.7351Testing軟件測試網(wǎng)9_%y{z `$E ] D7s:x
16384  87380
51Testing軟件測試網(wǎng)a+?6]Zl2e^F

    Netperf輸出的結(jié)果也是由兩行組成。第一行顯示本地系統(tǒng)的情況,第二行顯示的是遠(yuǎn)端系統(tǒng)的信息。平均的交易率(transactionrate)為9502.73次/秒。注意到這里每次交易中的request和response分組的大小都為1個字節(jié),不具有很大的實際意義。用戶可以通過測試相關(guān)的參數(shù)來改變request和response分組的大小,TCP_RR方式下的參數(shù)如下表所示:

(L7[}-vlx0參數(shù)51Testing軟件測試網(wǎng)6sz,u n\c9^w.iM

|zc h ^n"P]0說明

2D dE#TlJ*a0

q,C.FiX:j3{@0-r req,resp

w&Q/q#Oq0
51Testing軟件測試網(wǎng)3hT:e#R!{#_

設(shè)置request和reponse分組的大小51Testing軟件測試網(wǎng)4HkC'B L*oWrF

q Pg DuhJ |0-s size

+x0Ir&M/V0

pd7j,M;` ]b0設(shè)置本地系統(tǒng)的socket發(fā)送與接收緩沖大小

,B$C? ?6Y~&n0

L!I%zeaa;Ytv0-S size51Testing軟件測試網(wǎng)7oq0I7C.T-c

#^Hm(?])T&L `9K7b(U0設(shè)置遠(yuǎn)端系統(tǒng)的socket發(fā)送與接收緩沖大小

fQ&X E9xDg0iTc0

8kzl)D#qA/`2H Z5f0-D

Q7BJ,uhD]e0

0~1[#l7q Y7U jH0對本地與遠(yuǎn)端系統(tǒng)的socket設(shè)置TCP_NODELAY選項51Testing軟件測試網(wǎng)il lV} A9c

51Testing軟件測試網(wǎng)2HcO8dSW

通過使用-r參數(shù),我們可以進(jìn)行更有實際意義的測試:51Testing軟件測試網(wǎng)a U A/Ah
./netperf -t TCP_RR -H 192.168.0.28 -- -r 32,102451Testing軟件測試網(wǎng)"K/na4EZtk9i${
TCP REQUEST/RESPONSE TEST to 192.168.0.28
m9X)]X4l1@'r-B/EM0Local /Remote51Testing軟件測試網(wǎng)!j"P0Mw(pMj0{v
Socket Size   Request  Resp.   Elapsed  Trans.51Testing軟件測試網(wǎng)5g.[8UpKi
Send   Recv   Size     Size    Time     Rate51Testing軟件測試網(wǎng)~J?xJ0G;w/b"h
bytes  Bytes  bytes    bytes   secs.    per sec51Testing軟件測試網(wǎng)6I {cCX;t?NN

uiuU5j|;Os'X016384  87380  32       1024    10.00    4945.9751Testing軟件測試網(wǎng)K.I zHqm
16384  8738051Testing軟件測試網(wǎng)K^+z#B }!K

    從結(jié)果中可以看出,由于request/reponse分組的大小增加了,導(dǎo)致了交易率明顯的下降。注:相對于實際的系統(tǒng),這里交易率的計算沒有充分考慮到交易過程中的應(yīng)用程序處理時延,因此結(jié)果往往會高于實際情況。

2. TCP_CRR

    與TCP_RR不同,TCP_CRR為每次交易建立一個新的TCP連接。最典型的應(yīng)用就是HTTP,每次HTTP交易是在一條單獨的TCP連接中進(jìn)行的。因此,由于需要不停地建立新的TCP連接,并且在交易結(jié)束后拆除TCP連接,交易率一定會受到很大的影響。51Testing軟件測試網(wǎng)b0O&SLTwA]-d2M
./netperf -t TCP_CRR -H 192.168.0.28
)E.kr[H9H)M}6dP0TCP Connect/Request/Response TEST to 192.168.0.28
{7]fS3pP0Local /Remote51Testing軟件測試網(wǎng)@|t8|wa
Socket Size   Request  Resp.   Elapsed  Trans.
R.F3QG"j2Y4h(|M0Send   Recv   Size     Size    Time     Rate
SKK^.Mt"W]R0bytes  Bytes  bytes    bytes   secs.    per sec
V A;t-w1U0XK%w9@051Testing軟件測試網(wǎng)4kKq'D0Ls*co
131070 131070 1        1       9.99     2662.20
y] e@GjYt6o c016384  8738051Testing軟件測試網(wǎng)3NH1K]?j6j)]

    即使是使用一個字節(jié)的request/response分組,交易率也明顯的降低了,只有2662.20次/秒。TCP_CRR使用與TCP_RR相同的局部參數(shù)。

3. UDP_RR  
Ur#C$sYZ0

S|/|?|4T Ro&f0   UDP_RR方式使用UDP分組進(jìn)行request/response的交易過程。由于沒有TCP連接所帶來的負(fù)擔(dān),所以我們推測交易率一定會有相應(yīng)的提升。
./netperf -t UDP_RR -H 192.168.0.28
;o2QYbZ/}7Sn!@0
UDP REQUEST/RESPONSE TEST to 192.168.0.2851Testing軟件測試網(wǎng)'b5A(z(a+W,w%RK0MP
Local /Remote51Testing軟件測試網(wǎng)'l C2z*}5c8MM
Socket Size   Request  Resp.   Elapsed  Trans.
q%e-D?~'k0Send   Recv   Size     Size    Time     Rate51Testing軟件測試網(wǎng)C3@ k#MC
bytes  Bytes  bytes    bytes   secs.    per sec51Testing軟件測試網(wǎng)3~\+b|!H
51Testing軟件測試網(wǎng)z3vm;f"~?
65535  65535  1        1       9.99     10141.16
%SHL%ZE4a065535  65535
51Testing軟件測試網(wǎng)|gQ9Z,po6_GU `
   結(jié)果證實了我們的推測,交易率為10141.16次/秒,高過TCP_RR的數(shù)值。不過,如果出現(xiàn)了相反的結(jié)果,即交易率反而降低了,也不需要擔(dān)心,因為這說明了在網(wǎng)絡(luò)中,路由器或其它的網(wǎng)絡(luò)設(shè)備對UDP采用了與TCP不同的緩沖區(qū)空間和處理技術(shù)。

結(jié)束語
](H|h:SgHA7N0   除了netperf以外,還有很多其它的網(wǎng)絡(luò)性能測試工具,如dbs, iperf, pathrate, nettest, netlogger,tcptrace,ntop等。這些工具有其各自的特色和不同的側(cè)重點,我們可以根據(jù)具體的應(yīng)用環(huán)境,有選擇的使用它們,這樣就可以使這些工具發(fā)揮出最大的功效。雖然都是開放源代碼的軟件,但是這些工具的功能與商業(yè)的網(wǎng)絡(luò)測試工具同樣強(qiáng)大,而且也得到了廣泛的應(yīng)用,熟悉這些工具對我們的實際工作一定會有很大的幫助。 
51Testing軟件測試網(wǎng)(P.bD,I_m?zm

參考資料51Testing軟件測試網(wǎng)7~.U lhu[

51Testing軟件測試網(wǎng)7pT$Az5] ~h?

Network Performance Open Source Toolkit, Richard Blum, Wiley Publishing, Inc.
S,jy6z;XT)z0M0netperf website,http://www.netperf.org
51Testing軟件測試網(wǎng)*fW.`+P g\QR

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Netperf 的使用
netperf 測試
網(wǎng)絡(luò)性能測試方法
網(wǎng)絡(luò)流量監(jiān)控 - 系統(tǒng)管理一些技巧 - 豬俠山莊
統(tǒng)計APACHE ACCESS.LOG IP訪問記錄
loadrunner視頻 - 享受測試帶來的一切 - 51Testing軟件測試網(wǎng) 51Testing軟件測試網(wǎng)-中國軟件測試人的精神家園
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服