[20181031]模擬網路問題.txt
[20181031]模擬網路問題.txt
--//別人問的問題,如何在正常的環境模擬網路問題,實際上linux環境使用tc+netem就ok了.(netem 表示 Network Emulation)
--//不過我以前我自己有過1次,設定太狠了,導致自己連線伺服器都異常慢,差點控制不住.
--//我仔細看了文件,連結:
--//主要問題在於netem模組不支援流量控制.
--//自己做一點點總結:
1.簡單測試:
--//設定延遲100ms
# tc qdisc add dev em1 root netem delay 100ms
--//顯示狀態
# tc qdisc show dev em1
--//取消設定
# tc qdisc delete dev em1 root netem delay 100ms
--//顯示狀態
# tc qdisc show dev em1
--//這樣設定最大的問題,全部連線都受影響,導致不可控.一般應該限制某個IP,而不是全部IP.
--//這種測試延遲不要設定太大!! 注意em1是網路裝置名.
2.我以前的指令碼:
#! /bin/bash
DEV=eth0
tc qdisc del dev $DEV root
tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 1000mbit
tc class add dev $DEV parent 1: classid 1:9 cbq rate 256kbit allot 1500 prio 8 bounded isolated
tc class add dev $DEV parent 1: classid 1:10 cbq rate 128kbit allot 1500 prio 8 bounded isolated
tc class add dev $DEV parent 1: classid 1:11 cbq rate 64kbit allot 1500 prio 8 bounded isolated
tc class add dev $DEV parent 1: classid 1:12 cbq rate 1kbit allot 1500 prio 8 bounded isolated
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 192.168.100.40/32 flowid 1:10
--//如果網路卡裝置名不對,修改DEV變數就可以了。後面一段可以根據自己的情況現在網路流量。
-- //取消
#! /bin/bash
DEV=eth0
tc qdisc del dev $DEV root
--//實際上的我的指令碼僅僅限制網路流量.真正模擬網路問題最佳還是使用tc+netem.
3.比較客觀的模擬還是建議使用netem模組.
--//但是方法1不是很好,影響全域性.連結有一個例子,
--//自己修改一下.
#! /bin/bash
DEV=eth0
tc qdisc del dev $DEV root
tc qdisc show dev $DEV
tc qdisc add dev $DEV root handle 1: prio
tc qdisc add dev $DEV parent 1:3 handle 30: tbf rate 256kbit buffer 1600 limit 3000
# tc qdisc add dev $DEV parent 30:1 handle 31: netem delay 200ms 10ms distribution normal
# tc qdisc add dev $DEV parent 30:1 handle 31: netem delay 200ms loss 0.3% corrupt 0.1%
# tc qdisc add dev $DEV parent 30:1 handle 31: netem delay 200ms loss 40% 25% corrupt 0.1%
tc qdisc add dev $DEV parent 30:1 handle 31: netem delay 200ms 10ms distribution normal
tc filter add dev $DEV protocol ip parent 1:0 prio 3 u32 match ip dst 192.168.100.40/32 flowid 1:3
tc qdisc show dev $DEV
--//注設定3種情況,都註解了,可以根據需要修改,我選擇第1種方案
--//loss 40% 25%
--//This will cause 40 of packets to be lost, and each successive probability depends by a quarter on the last one.
--//Probn = .25 * Probn-1 + .75 * Random
--//取消設定:
# DEV=eth0
# tc qdisc del dev $DEV root
# tc qdisc show dev $DEV
--//測試看看.執行以上指令碼後:
# ping 192.168.100.40
PING 192.168.100.40 (192.168.100.40) 56(84) bytes of data.
64 bytes from 192.168.100.40: icmp_seq=1 ttl=64 time=192 ms
64 bytes from 192.168.100.40: icmp_seq=2 ttl=64 time=196 ms
64 bytes from 192.168.100.40: icmp_seq=3 ttl=64 time=209 ms
64 bytes from 192.168.100.40: icmp_seq=4 ttl=64 time=204 ms
64 bytes from 192.168.100.40: icmp_seq=5 ttl=64 time=186 ms
^C
--- 192.168.100.40 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 186.498/198.011/209.835/8.419 ms
# tc qdisc del dev eth0 root
# ping 192.168.100.40
PING 192.168.100.40 (192.168.100.40) 56(84) bytes of data.
64 bytes from 192.168.100.40: icmp_seq=1 ttl=64 time=0.113 ms
64 bytes from 192.168.100.40: icmp_seq=2 ttl=64 time=0.177 ms
64 bytes from 192.168.100.40: icmp_seq=3 ttl=64 time=0.132 ms
64 bytes from 192.168.100.40: icmp_seq=4 ttl=64 time=0.159 ms
64 bytes from 192.168.100.40: icmp_seq=5 ttl=64 time=0.130 ms
^C
--- 192.168.100.40 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 0.113/0.142/0.177/0.024 ms
--//啟用後ping約2XXms,取消後0.1xxms.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2218147/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20181031]模擬ora-01591錯誤.txt
- 各種二埠濾波器網路模擬遇到的問題
- Cisco Packet Tracer Student(思科網路模擬器)模擬搭建VLAN網路
- [20181031]truncate IDL_UB1$恢復.txt
- [20181031]lob欄位與布隆過濾.txt
- android 官方模擬器的 app 無法訪問 app 網路AndroidAPP
- 藍橋杯模擬題——長草問題
- Android studio虛擬模擬器安裝問題Android
- [20181031]如何確定db_link的程式號.txt
- [20181123]模擬ora-01555.txt
- 模擬網路狀態的利器TC
- 模擬題
- [20220531]模擬inactive session等待事件.txtSession事件
- 公司網路虛擬機器無法進行上網認證問題虛擬機
- 華為雲DevCloud為虛擬模擬插上網際網路的翅膀devCloud
- [20181031]12c 線上移動資料檔案.txt
- [20181122]模擬ORA-08103錯誤.txt
- 蒙特卡洛模擬(1)————三門問題
- 【BUG】鴻蒙模擬器虛擬化問題的解決方案鴻蒙
- esxi6.7 安裝模擬網路模擬器PNetLab v6版本
- 模擬ip訪問(附模擬手機訪問)遠端地址
- 面試必考:網路問題面試
- AD18無法模擬問題的解決
- [20181106]模擬ora-00600[4194]錯誤.txt
- [20181204]模擬ora-00600[4194]錯誤.txt
- [20181204]模擬ora-00600[4193]錯誤.txt
- [20180529]模擬會話引數變化.txt會話
- Cisco Packet Tracer Student(思科網路模擬器)模擬集線器和嗅探攻擊
- 模擬賽雜題
- [20190221]sql patch 問題.txtSQL
- [20181217]strace使用問題.txt
- [20181204]bbed修改問題.txt
- [20190313]備份問題.txt
- [20180619]bbed verify問題.txt
- [20210812]windows xcopy問題.txtWindows
- 如何排查網路問題-開發眼裡的網路
- 使用 nsenter 排查容器網路問題
- 未來網路若干問題思考