准備工作
之前新進了一批網卡,需要進行丟包測試,在網查了下如何進行測試,記錄如下:
使用iperf工具進行丟包測試
#首先添加epel源,我這里使用的阿里雲的源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#列出所有可用包
yum repolist
#安裝iperf工具
yum install iperf
客戶端A,服務端B,ip修改為同一網段(不要修改成現在在用的網段),使用光纖線連接A與B的其中一個模塊
#測試模塊是否正常
ethtool –m XXXX(網卡口名) // 執行該命令若輸出一堆信息,則為正常
#測試網口指示燈是否正常
ethtool –p XXXX(網卡口名) // 觀察對應網口的指示燈是否閃爍,若閃爍則為正常
#修改IP
vi /etc/sysconfig/network-scripts/ifcfg-xxxx(根據具體網卡名稱)
#進入插入模式修改(新增)如下內容:
BOOTPROTO=static // 改為static靜態ip
ONBOOT=yes // 啟用
IPADDR=192.168.20.250 // 設置靜態ip地址
NETMASK=255.255.255.0 // 設置子網掩碼
#重啟網絡服務
/etc/init.d/network restart
或 service network restart
#若重啟失敗則檢查配置,若成功,則插好光纖線測試兩塊網卡是否聯通
ping –I xxxx(本機網口名) 192.168.20.249(對端IP)
丟包測試
1. UDP模式
#服務器端執行命令
iperf -u -s
#客戶端執行命令
iperf -u -c 192.168.20.249(服務端IP) -b 100M -t 60 //在udp模式下,以100Mbps為數據發送速率,客戶端到服務器192.168.20.249上傳帶寬測試,測試時間為60秒。
iperf -u -c 192.168.20.249 -b 5M -P 30 -t 60 //客戶端同時向服務器端發起30個連接線程,以5Mbps為數據發送速率。
iperf -u -c 192.168.20.249 -b 100M -d -t 60 //以100M為數據發送速率,進行上下行帶寬測試。
2.TCP模式
#服務器端執行命令
iperf -s
#客戶端執行命令
iperf -c 192.168.20.249(服務端IP) -t 60 //在tcp模式下,客戶端到服務器192.168.20.249. 上傳帶寬測試,測試時間為60秒。
iperf -c 192.168.20.249 -P 30 -t 60 //客戶端同時向服務器端發起30個連接線程。
iperf -c 192.168.20.249 -d -t 60 //進行上下行帶寬測試。
測試完一輪將服務端和客戶端對換,再測一遍
測試結束后使用ifconfig
命令查看是否丟包
RX errors和TX errors 所在行各項數值全為零才是正常,如下圖就是一種丟包的情況,是不正常的
關機之后將不正常的網卡取出,做好標記,更換網卡繼續測試。