답변:
Apple은 테스트를 위해 Mac의 네트워크 연결 속도를 늦출 수있는 매우 편리한 공식 도구를 만들었습니다.
네트워크 링크 컨디셔너 선호 (사자 나중에 OS 용) 엑스 코드 내에서 무료로 다운로드 할 수 있습니다. 또한 iOS에는 Xcode 및 iOS 6 이상에서 액세스 할 수있는 유사한 기능이 있습니다.
4.3.2 이전 버전의 Xcode 는이 도구의 사본을 포함했습니다. 이제 Xcode 를 사용 하여 iOS 시뮬레이터 및 개발자 설명서와 유사한 방식으로 직접 다운로드합니다 .
400ms 지연된 Lossy Edge 네트워크에서 케이블 모뎀으로 11 개의 내장 프로파일이 있습니다. 다른 제한이 필요한 경우 고유 한 설정으로 사용자 정의 프로파일을 만들거나 Craig Hockenberry 의 기사 느린 승차에ipfw
설명 된대로 자신을 사용할 수도 있습니다 . 더 쉽게 다운로드 할 수있는 Mike Schrag 의 속도 제한 패널 도 언급되어 있습니다. Xcode보다 적지 만 Apple 도구보다 옵션이 적습니다.
전체 네트워크 스택을 느리게하므로 가상 머신에 lion을 설치하고 스로틀 스택으로 해당 VM을 설정하지 않고 앱별로 스로틀을 할 수 없습니다.
OS X 10.9 및 이전 버전은 ipfw
사용자 정의 방화벽 규칙을 정의하고 정의 할 수 있습니다. 사용하여 제한된 대역폭 의 파이프를 생성하면 ipfw
테스트 및 시뮬레이션을 실행할 수 있습니다.
를 통해 500KBytes / s로 제한되는 파이프 "1"을 만듭니다.
sudo ipfw pipe 1 config bw 500KByte/s
파이프 "1"을 통해 포트 80의 모든 네트워크 트래픽을 사용하여 안내
sudo ipfw add 1 pipe 1 src-port 80
더 이상 파이프가 필요하지 않으면 다음을 사용하여 포트에서 파이프를 제거하십시오.
sudo ipfw delete 1
MByte/s
80
: 암호화되지 않은 http
트래픽의 표준 포트입니다 . 이 포트는 대부분의 탐색 및 다운로드에 사용됩니다. 대부분의 경우 이것으로 충분해야합니다.443
: SSL 암호화 https
트래픽의 표준 포트 .pfctl
과 dnctl
예제 를 보여주는 답변을 아래에 추가했습니다 .
속도 제한 은 특정 포트 및 도메인을 의도적으로 선택적으로 느리게하기위한 시스템 환경 설정 패널입니다.
허용되는 답변에 추가하려면 XCode가 필요하지 않은 것 같습니다 .Apple Developer 웹 사이트의 계정 일뿐입니다 (2GB XCode 패키지가없는 경우 먼저 다운로드하는 것보다 간단합니다).
https://developer.apple.com/downloads로 이동하여 "Network Link Conditioner"또는 "Additional Tools for XCode"를 검색하십시오 (후자는 패키지의 이름 임).
Xcode 8.x를 통해 다운로드하려면 :
맥 OS X 10.10 사용자는 사용할 필요 dnctl
하고 pfctl
있지만, 문서화 된 예문 쉽게 찾을 수 없습니다.
# Configure `pfctl` to use `customRule`.
(cat /etc/pf.conf && echo "dummynet-anchor \"customRule\"" && echo "anchor \"customRule\"") | sudo pfctl -f -
# Define `customRule` to pipe traffic to `pipe 1`.
# Note this is the actual port definition, not a textual comment
echo "dummynet in quick proto tcp from any to any port 443 pipe 1" | sudo pfctl -a customRule -f -
# Define what `pipe 1` should do to traffic
sudo dnctl pipe 1 config delay 10000
sudo dnctl pipe 1 config bw 10Kbit/s
# DO NOT FORGET to undo these when you're done
sudo dnctl -q flush
sudo pfctl -f /etc/pf.conf
모두 나가서 사용할 수있는 모든 것을 만들고 싶다면 :
echo "dummynet in quick proto tcp from any to any pipe 1" | sudo pfctl -a customRule -f -
나는 이것이 로컬 호스트 파이프에 영향을 미쳐 내 vs 코드 디버깅을 느리게한다고 생각하므로주의하십시오.
ipfw 파이핑을 사용하여 네트워크 속도를 늦출 수도 있습니다.
먼저 가상 "파이프"를 설정하여 처리량을 800KBit / sec로 제한하십시오.
ipfw pipe 1 config bw 800Kbit
그런 다음 해당 파이프 (파이프 1)를 통해 트래픽을 푸시하는 규칙을 설정할 수 있습니다. (포트 토트 트래픽 인 포트 6881-6890)
ipfw add 10 pipe 1 tcp from any to me 6881-6890
ipfw add 11 pipe 1 tcp from any 6881-6890 to me
특정 IP 주소에서 트래픽을 10Kbit / sec로 제한하는 또 다른 예는 다음과 같습니다.
ipfw pipe 2 config bw 10Kbit
ipfw add 15 pipe 2 ip from me to 64.81.84.114
XCode 10.2의 경우 추가 개발자 도구-XCode 10.2의 추가 도구에 네트워크 링크 컨디셔너가 있습니다.