我们有我们使用我们的网站的用户定制的Flash / HTML5视频播放器。 我目前正在充实了谁拥有“次优”带宽的用户体验 - 基本上,我们希望客户端代码能够检测用户体验不佳,由于过多的缓冲。 我想在我的本地开发环境中测试这个“带宽差”的处理代码。
有谁知道的好技术在用于测试目的本地环境模拟 “可怜的带宽”?
更具体地讲,我有我的本地浏览器连接到虚拟机uWSGI,nginx的,和Python / Django的的情况下,我想能够注入延迟任意数量的进入这些系统中的内容交付。 (我主要关注与nginx的,这确实影像内容分发/流媒体这样做)。
编辑:这可能是相关的开发环境是Mac OS X的
只要使用nginx的配置。
虽然OS X Lion中的网络链接空调工作正常,它仍然烦人的使用时,我真的只是想测试Web应用程序的行为的一个子集-也就是说,缓慢的视频缓冲处理系统。
因此,我发现它更方便地设置速率限制我的nginx.conf
文件,例如,:
location ~ /files/(.*\.(mp4|m4v|mov))$ {
...
limit_rate 50k; # <-- Limit download rate per connection to 50kbps
...
}
编辑:请参阅nginx的HttpCoreModule文档 。
FreeBSD是的Mac OS的祖先,所以你可以使用内置强大的防火墙称为IPFW。 它可以在许多不同的情况下使用,例如模拟低带宽。 用你自己的IP地址回环(127.0.0.1)或(在这种情况下8.8.8.8)的远程服务器。
我们做一个视频采访Web的应用程序,所以我想我们的接触不良的模拟的经验分享,见下面的例子:
$ 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的管道可以模拟使用延迟 , 体重 ,甚至概率模拟数据包丢失缓慢和不稳定的连接。
我刚刚发现的Mac OS X的网络链接调理 ,但我还不确定它适用于loopback
,它需要我的目的。
编辑:这似乎对回工作,因此它似乎解决我的问题! 这可能是如果你在OS X 10.7的路要走
我使用这个程序NetLimiter模拟“可怜的带宽”。 这不是免费的,但有一个试用版效果很好。 仅适用于Windows :(