歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用Iperf工具進行網絡性能測試

使用Iperf工具進行網絡性能測試

日期:2017/2/28 14:32:31   编辑:Linux教程

在實際運維故障調試中,網絡設備性能往往是需要重點關注的對象。網絡性能問題是最直接影響系統整體效果的重要因素。網絡性能可以包括兩個層面指標:當前實際值和性能極值。實際值是指系統實際運行或者運行高峰期時網絡流量和負載情況。而性能極值則是測試網絡整體的極限情況。

對Oracle數據庫而言,一些重要架構模式,如RAC、Dataguard和Golden Gate,都需要可靠地網絡結構進行支持。在出現故障的時候,進行網絡節點間的測試驗證也是經常需要進行步驟。本篇介紹Iperf工具進行網絡帶寬測試,查看網絡設備的性能瓶頸。

Iperf是一個開源小工具,官方網站為http://iperf.fr/。 目前的Iperf支持TCP和UDP兩個協議帶寬測試內容,操作系統也覆蓋Linux、Windows、MacOS等主流操作系統。對Oracle而言,TCP和UDP兩個協議就已經覆蓋了最常用的協議類型。Oracle RAC在互聯私有網絡中使用UDP協議(Windows版本除外),公網數據傳輸訪問則使用TCP協議。

下面我們演示在Linux環境中使用Iperf方法。

1、環境配置

Iperf工作模式是一個典型的CS模式,工作原理是通過客戶端發送網絡包傳輸到服務器端,從而計算出網絡情況。

首先從官方網站上下載Linux版本的iperf,Linux版本的目前是bz壓縮包格式,上傳到服務器後需要進行額外的解壓過程。

我們准備兩台服務器進行測試,服務器1和服務器2。

服務器1IP地址為172.16.3.27,版本為Linux內核2.6.32。上傳iperf到對應目錄並解壓。

[root@TESTAUDDB ~]# uname -r

2.6.32-131.0.15.el6.x86_64

[root@TESTAUDDB ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 34:40:B5:A1:56:C0

inet addr:172.16.3.27 Bcast:172.16.255.255 Mask:255.255.255.0

inet6 addr: fe80::3640:b5ff:fea1:56c0/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

[root@TESTAUDDB ~]# cd /

[root@TESTAUDDB /]# mkdir iperf

[root@TESTAUDDB /]# ls -l | grep iperf

drwxr-xr-x. 2 root root 4096 Mar 21 08:30 iperf

上傳軟件包並且解壓。

[root@TESTAUDDB iperf]# bzip2 -d iperf64.bz2

[root@TESTAUDDB iperf]# chmod 755 iperf64

[root@TESTAUDDB iperf]# ls -l

total 856

-rwxr-xr-x. 1 root root 876211 Mar 21 08:33 iperf64

第二台服務器IP地址為172.16.3.28,同樣為Linux 2.6.32。

[root@TESTAUDAPP ~]# hostname

TESTAUDAPP

[root@TESTAUDAPP ~]# uname -r

2.6.32-131.0.15.el6.x86_64

eth0 Link encap:Ethernet HWaddr 34:40:B5:A1:53:D8

inet addr:172.16.3.28 Bcast:172.16.255.255 Mask:255.255.255.0

inet6 addr: fe80::3640:b5ff:fea1:53d8/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:3350494 errors:0 dropped:0 overruns:0 frame:0

上傳iperf目錄,解壓和服務器1相同,過程略。

[root@TESTAUDAPP iperf]# ls -l

total 856

-rwxr-xr-x. 1 root root 876211 Mar 21 09:29 iperf64

注意:作為IPerf服務器端的主機,最好關閉防火牆程序或者將其5001端口開啟。

[root@TESTAUDDB iperf]# service iptables stop

iptables: Flushing firewall rules: [ OK ]

iptables: Setting chains to policy ACCEPT: nat mangle filter [ OK ]

iptables: Unloading modules: [ OK ]

2、IPerf進行TCP協議診斷測試

我們先進行簡單的TCP協議網絡測試。在服務器端(3.27)啟動Iperf程序,以服務器模式啟動。

(在3.27上)

[root@TESTAUDDB iperf]# ./iperf64 -s

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

Server listening on TCP port 5001

TCP window size: 85.3 KByte (default)

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

在客戶端,通過參數-c啟動程序為客戶端模式。客戶端參數-c取值為連接服務器IP地址。

[root@TESTAUDAPP iperf]# ./iperf64 -c 172.16.3.27

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

Client connecting to 172.16.3.27, TCP port 5001

TCP window size: 16.0 KByte (default)

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

[ 3] local 172.16.3.28 port 64207 connected with 172.16.3.27 port 5001

[ ID] Interval Transfer Bandwidth

[ 3] 0.0-10.0 sec 1.10 GBytes 943 Mbits/sec

最後一行為測試結果。Interval表示連接測試的時間范圍,通常為10s。Transfer為在這個時間段內,客戶端和服務器傳輸的數據總量。結果Bandwidth是我們最關注的就是網絡傳輸速率,也就是帶寬。

從實驗結果可以看出,兩台服務器之間的網絡帶寬為943Mbits/sec。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-05/101156p2.htm

Copyright © Linux教程網 All Rights Reserved