• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            Linux環境下網絡性能測試

            轉載自:http://www.samirchen.com/linux-network-performance-test/

            網絡性能測試的幾項重要指標

            1、可用性

            測試網絡性能的第一步是確定網絡是否正常工作,最簡單的方法就是使用ping命令,通過向遠端的機器發送ICMP請求,并等待接收ICMP回應,來判斷遠端的機器是否連通,網絡是否正常工作。

            2、響應時間

            ping命令的ICMP報文響應一次往返所花費時間就是響應時間,有很多因素會影響到響應時間,如網段的負荷,網絡主機的負荷,廣播風暴,工作不正常的網絡設備等等。

            3、網絡利用率

            網絡利用率是指網絡被使用的時間占總時間(即被使用的時間+空閑的時間)的比例。例如,Ethernet雖然是共享的,但同時卻只能有一個報文在傳輸,因此在任一時刻,Ethernet或者是100%的利用率,或者是0%的利用率。計算一個網段的網絡利用率相對比較容易,但是確定一個網絡的利用率就比較復雜。因此,網絡測試工具一般使用網絡吞吐量和網絡帶寬容量來確定網絡中兩個節點之間的性能。

            4、網絡吞吐量

            網絡吞吐量是指在某個時刻,在網絡中的兩個節點之間,提供給網絡應用的剩余帶寬,通過網絡吞吐量可以尋找出網絡瓶頸。比如,即使clientserver都被分別連接到各自的100M以太網卡上,但是如果這兩個100M的以太網卡被10M的交換機連接起來,那么10M的交換機就是網絡的瓶頸。

            5、網絡帶寬容量

            與網絡吞吐量不同,網絡帶寬容量指的是在網絡的兩個節點之間的最大可用帶寬,這是由組成網絡的設備能力所決定的。

            使用iperf進行測試

            iperf介紹

            iperf是一個TCP/IP和UDP/IP性能測試工具,能夠提供網絡吞吐率信息,以及震動、丟包率、最大組和最大傳輸單元大小等統計信息,可以由這些信息來分析網絡的通信性能、定位網絡瓶頸。

            iperf以client/server方式工作,服務器端和客戶端都使用同一程序iperf,服務器端使用-s選項,而客戶端則使用-c選項。在 client與server之間,首先建立一個控制連接,傳遞有關測試配置的信息,以及測試的結果;在控制連接建立并傳遞了測試配置信息以后,client與server之間會再建立一個測試連接,用來回傳遞著特殊的流量模式,以測試網絡的性能。

            iperf獲取與安裝

            下載地址:http://iperf.sourceforge.net/

            配置與安裝:

            1. [root@rh tool]# tar -zxvf iperf-2.0.2.tar.gz
            2. [root@rh tool]# cd iperf-2.0.2
            3. [root@rh iperf-2.0.2]# ./configure --prefix=/usr/netperf
            4. [root@rh iperf-2.0.2]# make
            5. [root@rh iperf-2.0.2]# make install
            6. [root@rh iperf-2.0.2]# ls /usr/netperf

            iperf的使用

            啟動server端:

            1. [root@rh iperf-2.0.2]# cd /usr/iperf/bin
            2. [root@rh bin]# ./iperf -s

            還可以設置這些參數:

            服務器端選項環境變量選項說明
            -s, --server$IPERF_SERVER在服務器端運行 iperf;
            -D.以后臺方式運行 iperf 服務模式;
            -R.如果 iperf 正在運行,則將其終止運行;

            啟動client端:

            用TCP的方式測試本機到192.168.0.138主機(-c 192.168.0.138)的網絡性能,時長為60(-t 60),緩沖區的大小為8KB (-l 8k),每10(-i 10)打印一次測試結果。

            1. [root@rh iperf-2.0.2]# cd /usr/iperf/bin
            2. [root@rh bin]# ./iperf -c 192.168.0.138 -t 60 -l 8k -i 10
            3. ------------------------------------------------------------
            4. Client connecting to 192.168.0.138, TCP port 5001
            5. TCP window size: 23.2 KByte (default)
            6. ------------------------------------------------------------
            7. [ 3] local 192.168.0.137 port 42812 connected with 192.168.0.138 port 5001
            8. [ ID] Interval Transfer Bandwidth
            9. [ 3] 0.0-10.0 sec 1.64 GBytes 1.41 Gbits/sec
            10. [ 3] 10.0-20.0 sec 5.26 GBytes 4.52 Gbits/sec
            11. [ 3] 20.0-30.0 sec 5.26 GBytes 4.52 Gbits/sec
            12. [ 3] 30.0-40.0 sec 5.27 GBytes 4.53 Gbits/sec
            13. [ 3] 40.0-50.0 sec 5.26 GBytes 4.51 Gbits/sec
            14. [ 3] 50.0-60.0 sec 5.26 GBytes 4.52 Gbits/sec
            15. [ 3] 0.0-60.0 sec 27.9 GBytes 4.00 Gbits/sec

            還可以設置這些參數:

            客戶端選項環境變量選項說明
            -b, --bandwidth$IPERF_BANDWIDTH指定客戶端通過 UDP 協議發送信息的帶寬,默認值為 1Mbps;

            使用netperf進行測試

            netperf介紹

            netperf是一種網絡性能測量工具,主要針對基于TCP或UDP的傳輸。netperf根據應用的不同,可以進行不同模式的網絡性能測試,即批量數據傳輸(bulk data transfer)模式和請求/應答(request/response)模式。netperf反應的是一個系統能以多快的速度向另一個系統發送數據,以及另一個系統能以多快的速度接受數據。

            netperf是以client/server的方式工作,server端是netserver,用來偵聽來自client 端的連接;client端是netperf,用來向server發起網絡測試。在client與server之間,首先建立一個控制連接,傳遞有關測試配置的信息,以及測試結果;在控制連接建立并傳遞了測試配置信息后,client與server之間會再建立一個測試連接,用來來回傳遞著特殊的流量模式,以測試網絡的性能。

            netperf可以模擬三種不同的TCP流量模式:

            • 單個TCP連接,批量(bulk)傳輸大量數據;
            • 單個TCP連接,client請求/server應答的交易(transaction)方式;
            • 多個TCP連接,每個連接中一對請求/應答的交易方式

            netperf可以模擬兩種UDP的流量模式:

            • 從client到server的單向批量傳輸;
            • 請求/應答的交易方式。

            由于UDP傳輸的不可靠性,在使用 netperf時要確保發送的緩沖區大小不大于接收緩沖區大小,否則數據會丟失,netperf將給出錯誤的結果。因此,對于接收到分組的統計不一定準確,需要結合發送分組的統計綜合得出結論。

            netperf獲取與安裝

            下載地址:http://www.netperf.org/netperf/

            配置與安裝:

            1. [root@rh tool]# tar -zxvf netperf-2.6.0.tar.gz
            2. [root@rh tool]# cd netperf-2.6.0
            3. [root@rh netperf-2.6.0]# ./configure --prefix /usr/netperf
            4. [root@rh netperf-2.6.0]# make
            5. [root@rh netperf-2.6.0]# make check
            6. [root@rh netperf-2.6.0]# make install
            7. [root@rh netperf-2.6.0]# ls /usr/netperf

            netperf使用

            啟動server端:

            1. [root@rh netperf-2.6.0]# cd /usr/netperf/bin
            2. [root@rh bin]# ./netserver

            啟動client端:

            1)TCP_STREAM模式。進行TCP批量傳輸性能測試。這是netperf缺省情況。

            批量數據傳輸典型的例子有FTP和其他類似的網絡應用(即一次傳輸整個文件)。根據使用傳輸協議的不同,批量數據傳輸又分為TCP批量傳輸和UDP批量傳輸。

            用 TCP 批量傳輸的方式 (-t TCP_STREAM)測試本機到 192.168.0.138 主機(-H 192.168.0.138)的網絡性能,時長 60 秒(-l 60),每次發送本地發送測試分組的大小為2048Bytes (-m 2048)

            1. [root@rh netperf-2.6.0]# cd /usr/netperf/bin
            2. [root@rh bin]# ./netperf -t TCP_STREAM -H 192.168.0.138 -l 60 -- -m 2048
            3. MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.138 () port 0 AF_INET
            4. Recv Send Send
            5. Socket Socket Message Elapsed
            6. Size Size Size Time Throughput
            7. bytes bytes bytes secs. 10^6bits/sec
            8. 87380 16384 2048 60.00 5463.11

            從上面netperf的輸出結果中,可以得到如下信息:

            • 1)遠端系統(即 server)使用大小為 87380 字節的 socket 接收緩沖;
            • 2)本地系統(即 client)使用大小為 16384 字節的 socket 發送緩沖;
            • 3)向遠端系統發送的測試分組大小為 2048 字節,通過 -m 2048 設置;
            • 4)測試經歷的時間為 60 秒;
            • 5)吞吐量的測試結果為 5463.11 Mbps;

            在缺省的情況下,netperf向遠端系統發送的測試分組大小會設置為本地系統所使用的 socket 發送緩沖大小。

            還可以設置這些局部命令行參數:

            客戶端選項變量說明
            -s$size設置本地系統的 socket 發送與接收緩沖大小;
            -S$size設置遠端系統的 socket 發送與接收緩沖大小;
            -m$size設置本地系統發送測試分組的大小;
            -M$size設置遠端系統接收測試分組的大小;
            -D.對本地與遠端系統的 socket 設置 TCP_NODELAY 選項;

            通過修改以上的參數,并觀察測試結果的變化,可以確定是什么因素影響了連接的吞吐量。

            例如,如果懷疑路由器由于缺乏足夠的緩沖區空間,使得轉發大的分組時存在問題,就可以改變測試分組的大小(-m),以觀察吞吐量的變化。如果當測試分組由較大變為較小,而吞吐量出現較大的變化(比如吞吐量變大),說明網絡中路由器確實存在緩沖區不足的問題。

            2)UDP_STREAM,進行 UDP 批量傳輸性能測試。

            需要注意的是此時測試分組的大小不能大于 socket 發送與接收的緩沖區大小,否則 netperf 會報錯。

            UDP_STREAM 方式使用與 TCP_STREAM 方式相同的局部命令行參數。

            用 UDP 批量傳輸的方式 (-t UDP_STREAM)測試本機到 192.168.0.138 主機(-H 192.168.0.138)的網絡性能,時長 60 秒(-l 60),每次發送本地發送測試分組的大小為2048Bytes (-m 2048)

            1. [root@rh netperf-2.6.0]# cd /usr/netperf/bin
            2. [root@rh bin]# ./netperf -t UDP_STREAM -H 192.168.0.138 -l 60 -- -m 2048
            3. MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.138 () port 0 AF_INET
            4. Socket Message Elapsed Messages
            5. Size Size Time Okay Errors Throughput
            6. bytes bytes secs # # 10^6bits/sec
            7. 229376 2048 60.00 11159606 0 3047.29
            8. 229376 60.00 11115165 3035.15

            可以看到,最后結果有兩行,第一行數據顯示的是本地系統的發送統計,這里的吞吐量表示 netperf 向本地 socket 發送分組的能力。但是由于 UDP 是不可靠的傳輸協議,發送出去的分組數量不一定等于接收到的分組數量;第二行數據顯示的就是遠端系統接收的情況,這里看到接收到的數據小于發送的數據,即存在丟包的情況。遠端系統的接收吞吐量也小于本地發送吞吐量。

            3)TCP_RR,在一個 TCP 連接中進行多次 request 和 response 的交易過程的性能測試。

            這種方式常出現在數據庫應用中,數據庫與客戶端程序建立一個 TCP 連接后,就在這個連接中傳遞數據庫的多次交易過程。

            用 TCP_RR 的方式(-t TCP_RR)測試本機到 192.168.0.138 主機(-H 192.168.0.138)的網絡性能,時長 60 秒(-l 60),設置 request 分組大小為 64Bytes,response 分組大小1024Bytes

            1. [root@rh netperf-2.6.0]# cd /usr/netperf/bin
            2. [root@rh bin]# ./netperf -t TCP_RR -H 192.168.0.138 -l 60 -- -r 64,1024
            3. MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.138 () port 0 AF_INET : first burst 0
            4. Local /Remote
            5. Socket Size Request Resp. Elapsed Trans.
            6. Send Recv Size Size Time Rate
            7. bytes Bytes bytes bytes secs. per sec
            8. 16384 87380 64 1024 60.00 9194.92
            9. 16384 87380

            這里的輸出結果有兩行,第一行數據顯示的是本地系統的信息,第二行數據顯示的遠端系統的信息。Trans. Rate per sec 是平均交易率。

            通常增加 request/response 分組的大小會使得交易率下降。相對于實際的系統,這里的交易率的計算沒有充分考慮到交易過程中的應用程序處理時延,因此結果會高于實際情況。

            還可以設置這些參數:

            客戶端選項變量說明
            -r$req,$resp設置 request 和 reponse 分組的大小;
            -s$size設置本地系統的 socket 發送與接收緩沖大小;
            -S$size設置遠端系統的 socket 發送與接收緩沖大小;
            -D.對本地與遠端系統的 socket 設置 TCP_NODELAY 選項;

            4)TCP_CRR,與 TCP_RR 的方式不同,TCP_CRR 為每次交易建立一個新的 TCP 連接。測試這種情況的網絡性能。

            這種方式最典型的應用是 HTTP,每次 HTTP 交易是在一條單獨的 TCP 連接中進行的,這個過程需要不停地建立新的 TCP 連接,并在交易結束后結束 TCP 連接,交易率會受到較大影響。

            用 TCP_CRR 的方式(-t TCP_CRR)測試本機到 192.168.0.138 主機(-H 192.168.0.138)的網絡性能,時長 60 秒(-l 60),設置 request 分組大小為 64Bytes,response 分組大小 1024Bytes

            1. [root@rh netperf-2.6.0]# cd /usr/netperf/bin
            2. [root@rh bin]# ./netperf -t TCP_CRR -H 192.168.0.138 -l 60 -- -r 64,1024
            3. MIGRATED TCP Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.138 () port 0 AF_INET
            4. Local /Remote
            5. Socket Size Request Resp. Elapsed Trans.
            6. Send Recv Size Size Time Rate
            7. bytes Bytes bytes bytes secs. per sec
            8. 16384 87380 64 1024 60.00 2728.00
            9. 16384 87380

            這里的輸出結果有兩行,第一行數據顯示的是本地系統的信息,第二行數據顯示的遠端系統的信息。Trans. Rate per sec 是平均交易率。

            5)UDP_RR,使用 UDP 分組進行 request 和 response 交易過程的性能測試。

            用 UDP_RR 的方式(-t UDP_RR)測試本機到 192.168.0.138 主機(-H 192.168.0.138)的網絡性能,時長 60 秒(-l 60),設置 request 分組大小為 64Bytes,response 分組大小1024Bytes

            1. [root@rh netperf-2.6.0]# cd /usr/netperf/bin
            2. [root@rh bin]# ./netperf -t UDP_RR -H 192.168.0.138 -l 60 -- -r 64,1024
            3. MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.138 () port 0 AF_INET : first burst 0
            4. Local /Remote
            5. Socket Size Request Resp. Elapsed Trans.
            6. Send Recv Size Size Time Rate
            7. bytes Bytes bytes bytes secs. per sec
            8. 229376 229376 64 1024 60.00 10635.03
            9. 229376 229376

            這里的輸出結果有兩行,第一行數據顯示的是本地系統的信息,第二行數據顯示的遠端系統的信息。Trans. Rate per sec 是平均交易率。

            UDP_RR 方式使用 UDP 分組進行 request/response 的交易過程。由于沒喲 TCP 連接所帶來的負擔,所以交易率相對 TCP_RR 方式一般會有相應的提升。

            但是如果出現了相反的結果,即交易率反而降低了,也不用太驚訝,因為這說明在網絡中,路由器或其他網絡設備對 UDP 采用了與 TCP 不同的緩沖區空間和處理技術。

            其他注意事項

            測試的時候,常常由于防火墻的原因造成網絡不能連接,這時候可以設置或關閉防火墻后再測試。關閉和啟動防火墻命令:

            1. service iptables stop/start;

            后記

            常用的網絡性能測試工具除了 iperfnetperf,還有pathloadpathrateDBStcptrace等工具。

            本文參考:《網絡管理必備工具軟件精解(Linux版)》,作者:李波;楊紅,人民郵電出版社。

            posted on 2016-07-06 10:59 楊粼波 閱讀(1228) 評論(0)  編輯 收藏 引用

            久久久久久亚洲精品无码| 久久久久久夜精品精品免费啦| 国产精品久久久久久久app| 久久99国内精品自在现线| 污污内射久久一区二区欧美日韩 | 狠狠色伊人久久精品综合网 | 久久久久青草线蕉综合超碰 | 青青草原精品99久久精品66| 精品久久久久久国产免费了| 国产精品99精品久久免费| 亚洲AV日韩AV天堂久久| 久久天天躁狠狠躁夜夜avapp| 久久久亚洲精品蜜桃臀| 久久狠狠一本精品综合网| 精品久久人人做人人爽综合| 51久久夜色精品国产| 久久免费精品视频| 精品久久久中文字幕人妻| 久久精品国产亚洲AV影院| 亚洲国产精品无码久久一区二区| 久久人妻无码中文字幕| 国产精品久久久久久久久久影院| 久久久久无码中| 久久久国产视频| 久久久久九国产精品| 亚洲精品国产第一综合99久久| 亚洲乱码日产精品a级毛片久久| 精品久久久一二三区| 久久久久久久久久久| 久久精品夜夜夜夜夜久久| www.久久热| 国产精品久久久福利| 久久国产精品免费一区| 久久久久久国产a免费观看黄色大片 | 久久久久国产一区二区三区| 日本精品久久久久久久久免费| 少妇无套内谢久久久久| 色欲综合久久躁天天躁蜜桃| 国产精品福利一区二区久久| 久久精品国产精品亚洲人人| 久久人妻无码中文字幕|