Answers:
苹果公司提供了一个非常方便的官方工具,可以降低Mac上的网络连接速度,以进行测试。
该网络链接润发的偏好是在Xcode免费下载(对于狮子和以后的操作系统)。此外,iOS具有可从Xcode和iOS 6或更高版本访问的类似功能。
Xcode 4.3.2之前的较旧版本嵌入了此工具的副本。现在,您可以使用Xcode以类似于iOS模拟器和开发人员文档的方式直接下载Xcode。
从Lossy Edge网络以400毫秒的延迟到电缆调制解调器有11个内置配置文件。如果您需要其他限制,则可以使用自己的设置创建自定义配置文件,或者也可以ipfw
按照Craig Hockenberry的文章“ 慢速行驶 ”中的说明使用自己,轻松一点。它还提到了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”或“ XCode的其他工具”,后者是在其中找到的软件包的名称。
要通过Xcode 8.x下载它:
如果您只需要进行Web开发,我可以全力推荐Charles。无论如何,它都是调试HTTP应用程序的出色工具,并且在众多功能中,它还有Throttle选项。该软件并不便宜,但是却做得很好。
Mac 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 -
我相信这也会影响localhost管道,这会减慢我的vs代码调试速度,因此请注意。
您还可以使用ipfw管道来降低网络速度。
首先,设置虚拟“管道”以将吞吐量限制为800KBit / sec:
ipfw pipe 1 config bw 800Kbit
然后,您可以设置规则以通过该管道(管道1)推送流量。(端口6881-6890为Bittorrent通信量)
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的其他工具”中,您将找到Network Link Conditioner。