Benzer soruların zaten sorulduğunu fark ettim, ancak şimdiye kadar sorunuma bir çözüm bulamadım.
Bahsedilen web sitelerinin yükleme süresinde artış ve azalmayı ölçmek için web sitesi hızlarını test etmek için kullandığım sanal bir linux sunucum var (Debian Squeeze çalıştıran). Web sitelerinde gerçek dünya yükleme sürelerine yakın olabilmek için bu sunucunun bant genişliğini ve gecikmesini sınırlamaya çalışıyorum, ancak şu ana kadar başarısız oldum.
Özellikle istediğim şu:
- 50 ms'lik bir gelen ve giden gecikme süresi ayarlamak için.
- 512 kbps gelen bir bant genişliği sınırı ayarlamak için.
- 4096 kbps'lik bir giden bant genişliği sınırı ayarlamak için.
Netem'de okuyorum ve tc
komutu kullanıyorum , ama yine de biraz kafamın üstünde. İşe yarayan gecikmeyi kontrol etmek için bu komutu bir araya getirmeyi başardım, ancak bunun yalnızca giden gecikmeyi veya her ikisini de ele alıp almadığından emin değilim:
tc qdisc add dev eth0 root netem delay 50ms
Etrafımda bana yardımcı olabilecek herhangi bir ağ gurusu var mı?
Düzenle:
Daha fazla araştırmadan sonra hedefimin yarısına ulaştım, bu komutu kullanarak tüm giden trafik istediğim gibi davranıyor:
tc qdisc add dev eth0 root tbf rate 4.0mbit latency 50ms burst 50kb mtu 10000
Ancak yine de gelen trafiği gerektiği gibi kısamadım. Bir "Ingress Policer filtresi" kullanmam gerektiğini öğrendim. Sadece aşağıdaki komutla bunu yapmaya çalışıyorum, farklı değerlerle uğraşıyorum ama şans yok.
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match ip src 0.0.0.0/0 flowid :1 police rate 1.0mbit mtu 10000 burst 10k drop
Bant genişliği komuttan etkilenir, ancak yukarıdaki değerler hızı 2MB / s'de başlatır ve aktarım ilerledikçe, yaklaşık 30 saniye aktarımdan sonra ulaştığı yaklaşık 80-90kB / s'ye yavaşça düşer.
Neyi yanlış yaptığım hakkında bir fikrin var mı?
netem delay 50ms
gecikmeyi sınırlamaz. Gecikmeyi50ms
, aksi takdirde ne olacağına kıyasla artırır .