[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 各種二埠濾波器網路模擬遇到的問題
- [20150818]模擬wan網路延遲.txt
- Cisco Packet Tracer Student(思科網路模擬器)模擬搭建VLAN網路
- 2013杭州網路賽C題HDU 4640(模擬)
- 虛擬化網路演進模擬對話
- 虛擬機器網路的2個問題虛擬機
- 模擬題
- 模擬網路狀態的利器TC
- iOS模擬各種網路狀態iOS
- android 官方模擬器的 app 無法訪問 app 網路AndroidAPP
- 華為雲DevCloud為虛擬模擬插上網際網路的翅膀devCloud
- Android studio虛擬模擬器安裝問題Android
- Facebook網路模擬測試工具ATC使用
- 模擬面試題面試題
- 【BUG】鴻蒙模擬器虛擬化問題的解決方案鴻蒙
- 蒙特卡洛模擬(1)————三門問題
- [20161228]linux修改網路配置問題.txtLinux
- 模擬ip訪問(附模擬手機訪問)遠端地址
- 模擬賽雜題
- 公司網路虛擬機器無法進行上網認證問題虛擬機
- AD18無法模擬問題的解決
- Palm公司擬大規模裁員 解決官僚問題
- 面試必考:網路問題面試
- 公司網路有問題
- Cisco Packet Tracer Student(思科網路模擬器)模擬集線器和嗅探攻擊
- esxi6.7 安裝模擬網路模擬器PNetLab v6版本
- 模擬library cahe lock/pin等待事件以及問題定位事件
- tomcat虛擬目錄對映網路共享目錄的問題Tomcat
- 韌體動態模擬之網路介面的淺析
- 答題判題程式和傢俱強電電路模擬系統
- 奇葩網路問題歸總
- [20181031]如何確定db_link的程式號.txt
- [20181031]12c 線上移動資料檔案.txt
- 為Android、iOS裝置搭建模擬丟包、慢速網路模擬環境AndroidiOS
- 天才模擬器程式設計師死於網路暴力中程式設計師
- Charles實踐01-抓包及模擬網路環境
- 家居強電電路模擬程式
- 從網路鏈路到跨域問題跨域