Jakie jest dobre oprogramowanie do spowalniania połączeń internetowych na komputerze Mac w celu testowania i symulacji?
Moją podstawową potrzebą jest testowanie kodu w symulatorze iPhone / iOS, więc spowolnienie połączenia dla określonych aplikacji lub procesów byłoby świetne.
Odpowiedzi:
Firma Apple stworzyła bardzo przydatne oficjalne narzędzie do spowalniania połączeń sieciowych na komputerze Mac w celach testowych.
Network link odżywka preferencji jest do pobrania za darmo z poziomu Xcode (dla Lwa i późniejszym OS). Ponadto iOS ma podobną funkcję dostępną z poziomu Xcode i iOS 6 lub nowszego.
Starsze wersje Xcode przed wersją 4.3.2 osadziły kopię tego narzędzia. Teraz używasz Xcode, aby pobrać go bezpośrednio w podobny sposób, jak symulatory iOS i dokumentacja programisty.
Istnieje 11 wbudowanych profili z sieci Lossy Edge z opóźnieniem 400 ms do modemu kablowego. Jeśli potrzebujesz innych limitów, możesz utworzyć niestandardowe profile z własnymi ustawieniami lub możesz również użyć
ipfw
siebie, jak opisano w artykule Craiga Hockenberry'a „ Powolna jazda, ułatw sobie”. Wspomina również o panelu ograniczenia prędkości Mike'a Schraga, który jest mniejszym plikiem do pobrania niż Xcode, ale ma mniej opcji niż narzędzie Apple.Spowalnia cały stos sieciowy, więc nie można ograniczać przepustowości dla poszczególnych aplikacji bez robienia rzeczy takich jak instalacja lwa na maszynie wirtualnej i ustawienie tej maszyny wirtualnej za pomocą przepustnicy.
źródło
System OS X 10.9 i wcześniejsze wersje zapewniają
ipfw
i pozwalają definiować niestandardowe reguły zapory. Utwórz potok z ograniczoną przepustowością przy użyciu,ipfw
a będziesz mógł uruchamiać testy i symulacje.Utwórz potok „1” ograniczony do 500 KB / s przez
Poprowadź cały ruch sieciowy portu 80 przez potok „1” za pomocą
Jeśli nie potrzebujesz już potoku, usuń go z portu za pomocą
Inny
MByte/s
80
: standardowy port dla niezaszyfrowanegohttp
ruchu. Ten port służy do większości przeglądania i pobierania. W większości przypadków powinieneś sobie z tym poradzić.443
: standardowy port dlahttps
ruchu szyfrowanego SSL .źródło
pfctl
idnctl
przykład użycia.Ograniczenie prędkości to panel Preferencje systemowe do celowego i selektywnego spowalniania określonych portów i domen.
źródło
Aby dodać do zaakceptowanej odpowiedzi: wygląda na to, że nie powinieneś potrzebować XCode, tylko konto w witrynie Apple Developer (prostsze niż pierwsze pobranie pakietu 2 GB XCode, jeśli jeszcze go nie masz).
Wejdź na https://developer.apple.com/downloads i wyszukaj „Network Link Conditioner” lub „Additional Tools for XCode”, przy czym ten ostatni to nazwa pakietu, w którym się znajduje.
Aby pobrać go przez Xcode 8.x:
źródło
Jeśli potrzebujesz tylko ograniczenia w tworzeniu stron internetowych, z całego serca mogę polecić Charlesa . Jest to doskonałe narzędzie do debugowania aplikacji HTTP, a wśród wielu funkcji ma opcję przepustnicy. Oprogramowanie nie jest tanie, ale wykonuje świetną robotę.
źródło
Użytkownicy systemu Mac OS X 10.10 lub nowszych trzeba używać
dnctl
apfctl
jednak udokumentowane przykłady użycia nie są łatwe do znalezienia.Jeśli chcesz zrobić wszystko i ukształtować wszystko, czego możesz użyć:
Wierzę, że wpływa to również na potoki localhost, które spowolniły moje debugowanie vs-code, więc pamiętaj o tym.
źródło
Możesz również użyć pipingu ipfw, aby spowolnić sieć.
Najpierw skonfiguruj wirtualny „potok”, aby ograniczyć przepływność do 800 KB / s:
Następnie możesz skonfigurować reguły, aby przepychać ruch przez tę rurę (rura 1). (porty 6881-6890 są ruchem bittorrent)
Oto kolejny przykład ograniczenia ruchu do 10 Kbit / s z określonego adresu IP:
(Źródło)
źródło
W przypadku XCode 10.2 w sekcji Więcej narzędzi programistycznych - Dodatkowe narzędzia dla XCode 10.2 znajdziesz Network Link Conditioner.
źródło