1. 程式人生 > >性能測試四十六:Linux 從網卡模擬延時和丟包的實現

性能測試四十六:Linux 從網卡模擬延時和丟包的實現

時間 使用 技術分享 壓力 單位 del 命令 add 好用

Linux 中模擬延時和丟包的實現

使用ifconfig命令查看網卡

技術分享圖片

Linux 中使用 tc 進行流量管理。具體命令的使用參考 tc 的 man 手冊,這裏簡單記錄一下使用 tc 模擬延時和丟包的命令。

技術分享圖片

ping出來的最小單位為1毫秒,在執行壓測之前,最好用壓力機ping一下服務器,如果延遲很高,就沒必要測了,因為請求還沒發出去都已經有一段時間的消耗了

技術分享圖片

1. 延時
(1)設置延時:給 eth0 設備發包時添加 30ms 的延時(從網卡)。tc qdisc add dev eth0 root netem delay 30ms

(2)顯示延時的設置:tc qdisc show

技術分享圖片

ping一下,看結果

技術分享圖片

(3) 修改延時:tc qdisc change dev eth0 root netem delay 40ms
技術分享圖片

技術分享圖片

(4) 刪除延時的配置:tc qdisc del dev eth0 root netem delay 40ms
技術分享圖片

技術分享圖片

2. 丟包


設置丟包命令如下:tc qdisc add dev eth0 root netem loss 10%(丟10%的包,這裏可以按實際情況設置)
技術分享圖片

ping一下,每過一段時間就會有一次請求超時,出現概率就是上面設置的概率

技術分享圖片

如果是通過 SSH 登錄設備進行配置丟包的話,配置完這條命令就會感覺到機器訪問時有點一卡一卡的。這說明,設備已經開始丟包了,可以通過具體抓包查看。
其他諸如修改、查看、刪除的命令,都可以參考上面延時的設置。

不用了一定要刪除設置,要不然會一直存在

技術分享圖片

技術分享圖片

性能測試四十六:Linux 從網卡模擬延時和丟包的實現