2012-06-11 10 views
9

Mamy dostosowany odtwarzacz wideo Flash/HTML5, którego używamy dla użytkowników na naszej stronie. Obecnie rozwijam doświadczenie dla użytkowników, którzy mają "nieoptymalną" przepustowość - w zasadzie chcielibyśmy, aby kod po stronie klienta był w stanie wykryć słabe wrażenia użytkownika z powodu nadmiernego buforowania. Chciałbym przetestować ten kod obsługi "słabej przepustowości" w moim lokalnym środowisku programistycznym.Symulować słabe pasmo w środowisku testowym (Mac OS X)?

Czy ktoś wie o dobrych technikach, abysymulować "słabą przepustowość" w lokalnym środowisku do celów testowych?

Mówiąc dokładniej, moja lokalna przeglądarka łączy się z maszyną wirtualną z instancjami uWSGI, nginx i python/django i chciałabym móc wstrzyknąć dowolne ilości opóźnień w dostarczanie treści z tych systemów. (Zajmuję się głównie robieniem tego z nginx, który dostarcza dostarczanie/przesyłanie treści wideo).

EDIT: To może być istotne, że środowisko dev jest Mac OS X.

+0

Możliwy duplikat: http://superuser.com/questions/173882/netem-for-mac-os-os-x-toulate-network-latency-and-dropped- packets –

Odpowiedz

16

Wystarczy użyć konfiguracji nginx jest.

Podczas Network link odżywka OS X Lion jest działa zgodnie z oczekiwaniami nadal jest to denerwujące do użycia, gdy naprawdę próbuję przetestować podzbiór zachowania aplikacji internetowej - tj. System obsługi powolnego buforowania wideo.

Jako takie, Znalazłem to znacznie wygodniejsze, aby ustawić szybkość graniczną w moim pliku nginx.conf, np.:

location ~ /files/(.*\.(mp4|m4v|mov))$ { 
    ... 
    limit_rate 50k; # <-- Limit download rate per connection to 50kbps 
    ... 
} 

EDIT: Zobacz nginx HttpCoreModule docs.

+0

Coś, co napotkałem i myślę, że musi być tutaj dodane: Jeśli limit_rate nie działa, upewnij się, że ustawione jest "proxy_buffering on" (domyślnie włączone) – emrahgunduz

+0

Czy to dobra symulacja dla strony internetowej? Przeglądarka może otworzyć więcej niż jedno połączenie, nieprawdaż? – user37078

1

Używam tego programu NetLimiter symulować "słabą przepustowość". Nie jest za darmo, ale ma wersję próbną, która działa dobrze. Czy tylko dla windows :(

+0

zobacz ten link, http://hintsforums.macworld.com/showthread.php?t = 9417 – Xosler

5

Właśnie znalazłem Mac OS X Network Link Conditioner ale nie jestem jeszcze pewien, że to działa na loopback, co byłoby konieczne do moich celów

EDIT:. To wydaje się działać na sprzężenia zwrotnego, więc wydaje się rozwiązać mój problem! to jest chyba do zrobienia, jeśli jesteś na OS X 10.7

9

FreeBSD jest przodkiem Mac OS, więc możesz użyć wbudowanej potężnej zapory sieciowej o nazwie ipfw. Może być używany w wielu różnych przypadkach, na przykład do symulacji niskiej przepustowości. Użyj własnego sprzężenia zwrotnego adresu IP (127.0.0.1) lub zdalnego serwera (w tym przypadku 8.8.8.8).

Robimy film interviewing internetową aplikację, więc chciałbym podzielić się z naszego doświadczenia symulacji złe połączenie, patrz poniższy przykład:

$ sudo su 

$ ipfw show 
$ ipfw pipe 1 config delay 600ms bw 256kbit/s 
$ ipfw add pipe 1 dst-ip 8.8.8.8 dst-port 80 

$ ipfw flush 

ipfw rura pozwala symulować powolny i niestabilne połączenie z korzystaniem z opóźnienia , bw, a nawet , prob w celu symulacji strat pakietów.