Düşük bant genişliği, yüksek gecikme süresi ortamını nasıl taklit edebilirim?


201

Uzak bir sitede bir VPN'nin koşullarını taklit etmek için bir sunucuya düşük bant genişliği, yüksek gecikme süresi bağlantısını simüle etmem gerekiyor. Bant genişliği ve gecikme süresi ayarlanabilir olmalıdır, böylece yazılım paketimizi çalıştırmak için en iyi kombinasyonu bulabilirim.


7
Harika bir soru! ASP .NET web geliştirme ile ilgili bazı cevaplar duymak isterim.
Carl

Yanıtlar:


79

İçin MacOS , orada Ağ Bağlantısı Kremi yapılandırılabilir gecikme bant genişliği, ve paket kaybı simüle eder. Xcode için Ek Araçlar paketinde bulunur. Ekran görüntüsü


12
"Ağ Bağlantısı Düzenleyicisi" tercih bölmesi, developer.apple.com/downloads
avernet

Genymotion ile çalışmıyor gibi görünüyor. (Siyah Ekran)
Bruno

1
Daha yeni XCode sürümleri için indirme bağlantısı: developer.apple.com/download/more/?q=Additional%20Tools
jstorm31

@ jstorm31 Teşekkürler. Cevabı paketin geçerli adı ve geçerli bağlantıyla güncelledim.
Jon Colverson

37

Sadece bunu yapmak için bir FreeBSD makinesi kurmanın mükemmel bir yazımı var - standart eski masaüstünüzü alın, ek bir NIC'ye atın ve oluşturun.

Yazmaya http://www.freebsd.org/doc/en/articles/filtering-bridges/article.html adresinden ulaşılabilir .

Yukarıdaki talimatların 5. adımında bir güvenlik duvarını etkinleştirirsiniz. Yalnızca farklı bir IP bağlantısını simüle etmek için (örneğin) aşağıdakileri yapabilirsiniz:

/etc/rc.firewall.56kAşağıdakileri içeren bir dosya oluşturun :

ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in    
ipfw pipe 1 config bw 56Kbit/s   
ipfw pipe 2 config bw 56Kbit/s

Ve değiştir /etc/rc.conf... çizgiyi değiştir

firewall_type="open"

ile

firewall_type="/etc/rc.firewall.56k"

yeniden başlatın ve kendinize 56K'lık bir köprü var!

Bir Macintosh'tan çalışıyorsanız, bu işletim sisteminde varsayılan olarak yerleşik ipfw vardır. Ağ trafiğini Havaalanı üzerinden ve Ethernet üzerinden yönlendirerek, havaalanından gelen her şeyin taklit etmeye çalıştığım özelliklerle aynı özelliklere sahip olmasını sağlayarak aynı şeyi yaptım. İpfw komutlarını doğrudan terminalden çağırabilir ve aynı efektleri alabilirsiniz.


27

Geçmişte, Linux Netem (Ağ Öykünmesi) işlevini kullanarak bir köprü kullandım . Son derece yapılandırılabilir - gecikmelerin (ilk örnek bir WAN için), paket kaybının, bozulmanın vb.

EDIT: Ayarları kontrol etmek için MasterShaper web arayüzü de vardır .

Netem'in uygulamalarım için çok iyi çalıştığını belirtiyorum, ancak WANem'i birkaç kez kullandım. Sağlanan önyüklenebilir ISO (ve sanal cihaz görüntüleri) onu oldukça kullanışlı hale getirdi.


İhtiyaçlarım için mükemmel ve Ubuntu 14.04 sunucumda mevcut!
RobM

21

Charles

Charles hata ayıklama proxy uygulaması ile karşılaştım ve ağ gecikme öykünme büyük başarı elde ettim . Windows, Mac ve Linux üzerinde çalışır.

Mac'te Charles

Bant genişliği gaz kelebeği / Bant genişliği simülatörü

Charles, İnternet bağlantınızın bant genişliğini ve gecikmesini ayarlamak için kullanılabilir. Bu, yüksek hızlı bağlantınızı kullanarak modem koşullarını simüle etmenizi sağlar.

Bant genişliği, saniyede herhangi bir keyfi bayt olarak kısaltılabilir. Bu, herhangi bir bağlantı hızının simüle edilmesini sağlar.

Gecikme süresi herhangi bir rasgele milisaniyeye de ayarlanabilir. Gecikme gecikmesi, daha yavaş bağlantılarda yaşanan gecikmeyi simüle eder, yani bir istekte bulunma ile diğer uçta gelen istek arasındaki gecikmedir.

dummynet

Ayrıca vmware'i kullanarak BSD veya Linux'u çalıştırabilir ve bu makaleyi (DummyNet) veya bu makaleyi deneyebilirsiniz .


2
Charles bir HTTP proxy'sidir ve bu nedenle yalnızca HTTP uygulamalarını test etmek için uygundur. Her biri için, ama bence muhtemelen şimdiye kadar kullandığım en kötü yazılımlardan bazıları. Bir Mac üzerinde çalışırken sadece kısa bir süre kullandım. Windows kullanıcıları için, HTTP hata ayıklama proxy'sine ihtiyacınız varsa Fiddler'ı öneririm. Ne yazık ki, OSX için Charles dışında bir şey bulamadım.
Brad

6
Merhaba Brad. Ne tür sorunlarınız olduğunu söyleyebilir misiniz?
Ante

17

Windows için beceriksiz denilen bu küçük temiz programı buldum . Bu bir tür alfa statüsü, ama benim için iyi çalışıyor gibi görünüyor ve açık kaynak.

Düzenleme: Diğerleri, bant genişliğini beceriksiz olarak sınırlayamayacağınızı fark etti ve bu doğru. Yalnızca Gecikme ve ağla ilgili diğer birkaç hatayı ekleyebilirsiniz. Bu, bu cevabı soruya geçerli bir cevap olarak diskalifiye edecektir, ancak kötü bir ağı simüle etmek istediğimde iyi kullanmış olduğumdan,> 0 oy veya benzeri olduğu sürece burada bırakacağım.


Bant genişliğini beceriksizce nasıl kontrol edersiniz?
user3731622

3
Mükemmel bir program. Tam ihtiyacım olan şey. Bunu öneririm. Bir cazibe ve süper kolay gibi çalışır.
Jh62

1
Çoğu kişi "bant genişliğini sınırla" dediğinde, büyük olasılıkla büyük miktarda gecikme ve paket kaybı eklemekten çok mutlu olurlar, çünkü bunlar bant genişliğini etkili bir şekilde sınırlar. Ayrıca bu programın kullanımı inanılmaz basittir, pencerelerde denediğim her şeyi yener.
rulo

13

WANem'i deneyin

WANem, bir LAN ortamı üzerinde uygulama geliştirme / test sırasında Geniş Alan Ağı / İnternet konusunda gerçek bir deneyim sunmayı amaçlayan bir Geniş Alan Ağı Emülatörüdür.


1
Bunu denedim ve işe yaramayacak gibi görünüyor. Herhangi bir nedenle ağımızdan bir IP adresi almazken, başka herhangi bir bilgisayarda sorun yoktur.
Michael Beck


7

Linux üzerinde netem kullanmayı denerdim . Bununla beraber ek gecikme, yolsuzluk, paket kaybı ve çoğaltma simüle edebilirsiniz. Geridöngü aygıtında bile çalışır.


Hey, netem olarak windows için eşdeğer bir komutunuz var mı?
Shashi Ranjan

6

Başka bir istemci tarafı programı (yalnızca Windows) NetLimiter'dir - http://www.netlimiter.com


2
Netlimiter iyidir, ancak bence sadece düşük bant genişliği - gecikmeyi değiştiremez mi?
Nathan

Beta sürümü için beta planlanan gecikme simülasyonu planlanan bir özellik olarak listelenmiştir. Son zamanlarda piyasaya sürüldü ve henüz bu özelliğin yapılıp yapılmadığını görmek için henüz kullanmadım.
kaliatech

Bu özellik beta 9 sürümüne geçmedi.
cacba

4
Mevcut beta (NetLimiter 4) bile gecikmeyi değiştirmenize izin vermez.
akın

5

Windows makinemde NetBalancer kullanıyorum.

http://seriousbit.com/netbalancer/

2017-10-07 Güncellemeleri: NetBalancer'in son ücretsiz sürümü 9.2.7'dir . Programın kodlanmış bir son kullanma tarihi vardır. NetBalancer hizmetini başlatmadan önce, 2016-10-18 öncesinde sistem saatini geri çevirmeniz gerekir. Ayrıntılar için bu makaleye bakın.


Teşekkür ederim!! NetBalancer, bu sayfada çalışabildiğim ve gecikmeyi kontrol edebilen tek araçtır.
akın



3

Google Chrome'u kullanarak web sitelerini test etmek için düşük bir bant genişliği bağlantısını simüle etmek için F12 Araçları'ndaki Ağ Sekmesine gidebilir ve simüle etmek veya simüle etmek için özel bant genişliği oluşturmak için bir bant genişliği düzeyi seçebilirsiniz.


1
Teşekkürler! Bulamazsanız, "Önbelleği devre dışı bırak" düğmesinin sağ tarafındaki Chrome konsolu, Ağ sekmesinde bulunur. Varsayılan değeri "Kısma yok" dur.
Alan Willms



1

Http://www.shunra.com adresinden VE Desktop adında ve çeşitli ağ koşullarını simüle etmek için kullanılabilecek bir ürün var . Basit bir kullanıcı arayüzü ile gecikmeleri, bant genişliğini ve paket parlaklığını değiştirmenizi sağlar. Sadece uyarı, özgür değil. Bu yardımcı olur umarım.


1

Bir süredir bu tür testler için kullanımı kolay bir araç arıyordum. Geçen gün bununla karşılaştım : Network Delay Simulator

Windows çalıştırıyorsanız, kontrol etmelisiniz. Kurmak ve başlamak çok kolaydı ve gerçekten iyi çalışıyor gibi görünüyor. Her yönde bant genişliği, gecikme ve paket kaybını tanımlamanızı sağlar. Bir diğer güzel şey de "Akış Eşleşme Koşulları" nı tanımlayabilmenizdir, böylece yalnızca istediğiniz trafiği etkiler. Oh evet, ve ücretsiz.



1

Laboratuarda gerçek dünya ağ koşulları oluşturabilmeniz için bant genişliği, gecikme süresi, paket kaybı, paket yeniden sıralaması, paket çoğaltma, paket parçalanması, ağ tıkanıklığı ve daha birçok bozukluğu yapılandırmanıza olanak tanıyan NE-ONE Ağ Emülatörüne bir göz atın . Yukarı ve aşağı bağlantı için farklı bozukluklar yapılandırılabilir, böylece gerçekten iyi bir yukarı bağlantıya, ancak gerçekten kötü bir aşağı bağlantı deneyimine sahip olabilirsiniz, uygulama TCP sıralamayı nasıl ele aldığını görmek için harika, çünkü acks zamanında geri gelmiyor ve genel gecikme bu nedenle artar!

Burada bir genel bakış videosu var http://www.youtube.com/watch?v=DwtqlE7LcrQ özellikle oyun geliştiricilere yönelik , ancak bunun ne hakkında olduğunu gösteriyor. NE-ONE bir web tarayıcısı kullanılarak yapılandırılmıştır, bu yüzden kurulumu ve yapılandırılması gerçekten kolaydır - bir ağ gurusu olmanıza gerek yoktur :-)

Bir donanım sürümü var - http://www.itrinegy.com/index.php/products/network-emulators/ne-one - veya VMware ESXi Sunucusu altında çalışan bir Sanal Uygulama (yazılım) sürümünü indirebilirsiniz. Sanal Uygulama, VMware'in Solution Exchange'den indirilebilir - solutionexchange.vmware.com/store/products/ne-one-flex-network-emulator



0

LANforge ICE, sanal yönlendirme, titreme, yolsuzluk ve gecikmeye vurgu yapan bir ağ emülatörüdür . Projeler uydu bağlantısını, kablo ve modem bağlantılarını ve yüksek hızlı (10Gbit) wan emülasyonunu taklit etmek için kullandı. Sanal ağlarınızı oluşturmak ve trafik akışıyla ilgili çok ayrıntılı raporlar oluşturmak için bir Java GUI kullanabilirsiniz. LANforge ürünleri ayrıca trafik oluşturma özellikleri sağlar: çerçeve, ethernet, katman-3 ve durum bilgisi olan trafik (NFS, http). LANforge için son sürümler sofistike WiFi test özelliklerine de sahiptir.


0

Bunu deneyebilirsiniz: CovenantSQL / GNTE YAML'yi şöyle yaz:

group:
  - 
    name: china
    nodes:
      - 
        ip: 10.250.1.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.1.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "100ms 10ms 30%"
    loss: "1% 10%"
  - 
    name: us
    nodes:
      - 
        ip: 10.250.2.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.2.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "1000ms 10ms 30%"
    loss: "1% 10%"

network:
  -
    groups:
      - china
      - us
    delay: "200ms 10ms 1%"
    corrupt: "0.2%"
    rate: "10mbit"

Çalıştırmak ./generate scripts/your.yaml

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.