无论如何使用现代浏览器(chrome,ff,即safari)来限制连接速度(带宽)进行测试?

时间:2011-08-23 10:42:03

标签: google-chrome internet-explorer firefox networking

我想知道有没有办法在任何现代浏览器中使用某些扩展/插件来限制入站连接速度?

我想将速度降低到20kbs,只是为了看看事情是如何加载的,以及其他测试。

有没有人知道使用任何现代浏览器来实现这一目标?

8 个答案:

答案 0 :(得分:17)

编辑(2017-04-09):主流浏览器现已内置此功能:

原始回复可供参考,在某些情况下可能仍然有用。

我在某些时候使用过NetLimiter - 它适用于所有应用程序,可以为它们分配单独的带宽限制。

请注意,虽然这可能是调制解调器用户的一个很好的近似值(如果你找到一些),但它并不能完全告诉你中国某个地方的用户如何看待你的网站。问题不在于带宽而是长时间并且很大程度上改变了ping时间(偶尔会出现丢包)。不幸的是,我不知道能够模拟随机网络延迟和数据包丢失的应用程序。

答案 1 :(得分:5)

截至2014年底,chrome现在直接内置于开发人员工具中。

https://developer.chrome.com/devtools/docs/device-mode#network-conditions

答案 2 :(得分:4)

另一种选择是Charles Proxy - 它允许你simulate slow network connections。这种方法与浏览器无关,只需改变浏览器网络配置即可将Charles用作其Web代理。

答案 3 :(得分:1)

对于Firefox,您可以使用FirefoxThrottle。如果你需要测试不同的浏览器,我会选择一个限制代理。

答案 4 :(得分:0)

您可以在test settings / connection

下使用http://www.webpagetest.org进行在线测试

答案 5 :(得分:0)

最后,Firefox还在DevTools的响应式设计模式中添加了Network Throttling控件。适用于v.52.x. https://developer.mozilla.org/en-US/docs/Tools/Responsive_Design_Mode#Network_throttling

答案 6 :(得分:0)

您可以将浏览器配置为使用限制速度的隧道代理。例如,在Node.js以下服务器中运行

//Node.js 5.12.0
var net = require('net'),
    tg = new (require('stream-throttle').ThrottleGroup)({rate: 20*1024});
net.createServer((s) => {
    var d = net.connect({ port: *, host: '**' });
    s.on('error', () => {}).once('close', () => d.end());
    d.on('error', () => {}).once('close', () => s.end());
    s.pipe(d).pipe(tg.throttle()).pipe(s);
}).on('error', (err) => {throw err}).listen(8124);

,其中*和**分别是代理服务器的端口和IP地址,并将浏览器配置为连接到127.0.0.1,端口8124,将速度降低到20 KB / s。代理可以是支持与浏览器相同的协议的任何远程或本地代理服务器(例如,Squid,Privoxy或来自npm的代理服务器)。

答案 7 :(得分:0)

除了上述两种主要浏览器的内置功能-Chrome and Firefox之外,您还可以使用Fiddler来支持 Microsoft Edge,Internet Explorer,Chrome和Firefox >同时,这是一个奖励!

对于 safari ,免费下载选项 Network Link Conditioner 是节流的最佳选择。您可以找到有关野生动物园here的详细答案。