Iperf性能測(cè)試的問題小結(jié)
1. Iperf用文件作為數(shù)據(jù)源無效的問題
Iperf生成的數(shù)據(jù)包,默認(rèn)是0-9這10個(gè)數(shù)字的循環(huán)(十六進(jìn)制的話就是0x30-0x39的循環(huán)),我們可能需要去人工指定數(shù)據(jù)內(nèi)容,比如全都置成0來方便的查看物理傳輸過程中的出錯(cuò)情況,于是我造了一個(gè)數(shù)據(jù)文件之后調(diào)用:
iperf -F /root/input_data -c 1.1.1.11 ……
我修改了一下順序,同時(shí)修改了部分代碼之后(所以其實(shí)也可能是代碼問題,不一定是順序的問題)先設(shè)定目標(biāo)ip,然后指定文件:
iperf -c 1.1.1.11 -F /root/input_data……
就可以了。
2. 在代碼中修改iperf數(shù)據(jù),iperf無法收到,但在mac層能拿到數(shù)據(jù)
如果不使用問題1所述的用源數(shù)據(jù)文件的方法,而是在發(fā)送方的驅(qū)動(dòng)里面強(qiáng)行修改了數(shù)據(jù)包的內(nèi)容,會(huì)發(fā)現(xiàn)在接收方的驅(qū)動(dòng)中是能夠收到數(shù)據(jù)包的,但是iperf卻不能正常接收到數(shù)據(jù)包,原因如下:
Iperf在傳輸層之后還有一個(gè)36字節(jié)長(zhǎng)的首部,作為iperf應(yīng)用層的首部,如果修改了數(shù)據(jù),將導(dǎo)致傳傳輸層/應(yīng)用層校驗(yàn)失敗(傳輸層使用UDP協(xié)議的話,就應(yīng)該是應(yīng)用層校驗(yàn)失敗了),因此包會(huì)被丟掉,iperf無法統(tǒng)計(jì)到。
3. TCP發(fā)不出去包的問題
使用iperf發(fā)udp是沒有問題的,但是發(fā)tcp就有問題,最后發(fā)現(xiàn)是因?yàn)槲抑付藥挘?/div>
iperf -c xxx.xxx.xxx.xxx -i 1 -b 600M ...
posted on 2014-12-22 23:28 順其自然EVO 閱讀(736) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||