Difference between revisions of "Latency Simulation"
(→Båndbredde) |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
I forbindelse med udviklingen af et overvågningssystem til Grundfos havde jeg brug for at kunne undersøge hvordan at klienten opførte sig over en langsom linie med høj latency, selv om jeg sad direkte på firmaets LAN. | I forbindelse med udviklingen af et overvågningssystem til Grundfos havde jeg brug for at kunne undersøge hvordan at klienten opførte sig over en langsom linie med høj latency, selv om jeg sad direkte på firmaets LAN. | ||
− | Til linux er der mest udbredte værktøj [http://is2.antd.nist.gov/itg/nistnet/ NIST]. | + | <strike>Til linux er der mest udbredte værktøj [http://is2.antd.nist.gov/itg/nistnet/ NIST].</strike> -> Netem |
Man kan også overveje at bruge en FreeBSD og dennes <code>dummynet</code> | Man kan også overveje at bruge en FreeBSD og dennes <code>dummynet</code> | ||
− | =Kernel scheduler= | + | |
+ | =Netem= | ||
+ | *http://linux-net.osdl.org/index.php/Netem#Delay_distribution | ||
+ | *http://reischle.net/ReischleNet-English/Networking%20Blog/55B07C5E-3345-4F14-98ED-0B4657F5153E.html | ||
+ | *http://www.linuxfoundation.org/en/Net:Netem#Delay_distribution | ||
+ | |||
+ | |||
+ | |||
+ | =Old stuff= | ||
+ | ==Kernel scheduler== | ||
Fra: http://ask.slashdot.org/askslashdot/04/08/20/2035211.shtml?tid=222&tid=185&tid=95&tid=4&tid=218 | Fra: http://ask.slashdot.org/askslashdot/04/08/20/2035211.shtml?tid=222&tid=185&tid=95&tid=4&tid=218 | ||
Line 28: | Line 37: | ||
Then again, we only spent a few minutes playing with it (he had to leave). | Then again, we only spent a few minutes playing with it (he had to leave). | ||
− | |||
− | =Båndbredde= | + | ==Båndbredde== |
Hvis at man vil simulere begrænset båndbredde på linux, kan man alternativt bruge <code>shaper</code> modulet og det tilhørende user-level program <code>shapecfg</code> | Hvis at man vil simulere begrænset båndbredde på linux, kan man alternativt bruge <code>shaper</code> modulet og det tilhørende user-level program <code>shapecfg</code> | ||
Latest revision as of 14:18, 7 November 2008
I forbindelse med udviklingen af et overvågningssystem til Grundfos havde jeg brug for at kunne undersøge hvordan at klienten opførte sig over en langsom linie med høj latency, selv om jeg sad direkte på firmaets LAN.
Til linux er der mest udbredte værktøj NIST. -> Netem
Man kan også overveje at bruge en FreeBSD og dennes dummynet
Netem
- http://linux-net.osdl.org/index.php/Netem#Delay_distribution
- http://reischle.net/ReischleNet-English/Networking%20Blog/55B07C5E-3345-4F14-98ED-0B4657F5153E.html
- http://www.linuxfoundation.org/en/Net:Netem#Delay_distribution
Old stuff
Kernel scheduler
Fra: http://ask.slashdot.org/askslashdot/04/08/20/2035211.shtml?tid=222&tid=185&tid=95&tid=4&tid=218
I'm shocked no-one has posted this!
It's been in the kernel for while, though I don't know much about using it. I never bothered even looking at it (had no need) until a coworker wanted to use it (on Thursday) to do some testing and asked me about it.
Here's the chunk of Kconfig:
config NET_SCH_DELAY tristate "Delay simulator" depends on NET_SCHED help Say Y if you want to delay packets by a fixed amount of time. This is often useful to simulate network delay when testing applications or protocols.
To compile this driver as a module, choose M here: the module will be called sch_delay.
Please reply to this if you have been able to get this working... the tuning parameters to tc we found give errors (and yes, we built installed the latest iproute2 tarball). Then again, we only spent a few minutes playing with it (he had to leave).
Båndbredde
Hvis at man vil simulere begrænset båndbredde på linux, kan man alternativt bruge shaper
modulet og det tilhørende user-level program shapecfg
modprobe shaper shapecfg attach shaper0 eth0 shapecfg speed shaper0 9600 # in baud ifconfig shaper0 <eth0-address> netmask <eth0-netmask> # remote automatic route added by above route del -net <eth0-network> netmask <eth0-netmask> dev shaper0 # add routes to be choked route add -host <otherhost> dev shaper0 # or if going through a router route add -net <othernet> gw <router> dev shaper0