我想知道有没有办法在任何现代浏览器中使用某些扩展/插件来限制入站连接速度?
我想将速度降低到20kbs,只是为了看看事情是如何加载的,以及其他测试。
有没有人知道使用任何现代浏览器来实现这一目标?
答案 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
答案 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)