问题标签 [bandwidth-throttling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
networking - 为什么 UDP 广播阻塞路由器的速度比 TCP 低得多?
想法: 我们有一个成像系统生成大约 200-300 Mb/s 的数据,这些数据当前通过以太网电缆传递到计算机,计算机将其解压缩并显示实时图像。
我们试图通过让系统通过以太网电缆将数据包传递到路由器来通过 LAN 使系统无线化,然后路由器将 udp 数据包广播到计算机(或最终多台计算机)。
在最高级别,它看起来有点像这样:
之前:成像设备 -> cat-5 -> 计算机(以所需的 300 Mb/s 正常工作)
之后:成像设备 -> cat-5 -> 路由器 -> 802.11ac 无线 -> 计算机(超过 5Mb/s 的大量 (50%+) 数据丢失)
-电脑:surface pro 3
-路由器:A Buffalo AirStation AC 1750 DD‑WRT 无线固件:DD-WRT v24SP2- (03/24/14) 标准
问题: 当我们连接系统时,我们发现当我们将带宽提高到超过 5Mb/s 时,丢包开始增加,路由器的 GUI 变得无响应。
知道问题不太可能出现在任何一端,我们尝试通过各种方式配置路由器设置,禁用防火墙,降低 UDP 超时等以提高性能。在事情迅速恶化之前,我们能够找到的最佳配置使我们达到了大约 7Mb/s。
惊喜: 当我们用第二台计算机替换成像设备并进行简单的文件共享测试时发生了。在使用 2.4GB 文件进行文件共享测试(Windows 计算机 -> cat-5 -> 路由器 -> 802.11ac 无线 -> Windows 计算机)时,我们发现传输速度高达 300 Mb/s,并且路由器GUI 也没有冻结。
据我们所知,唯一的变化是通信类型和数据包大小。由于在 FPGA 上实现 TCP 的复杂性以及我们打算最终允许 LAN 上的数据有多个端点,我们认为 UDP 广播(1092b 大小的数据包)会起作用。根据wireshark 的说法,另一个测试设置是使用TCP(1514b 大小的数据包)。
问题: 为什么路由器能够处理吞吐量为 300Mb/s 的 TCP,但不能处理超过 10Mb/s 的 UDP 广播?关于如何在 LAN 上配置系统/路由器以实现高 UDP 吞吐量的任何想法或建议?
其他注意事项:
路由器距离计算机大约 5 英尺,在这两种情况下都以 5Ghz 传输 80Mhz。
更新:
正如建议的那样,我尝试测试通过 LAN 端口通过以太网连接系统是否可行。这样我就可以达到 150Mb/s。(成像系统-> 以太网(LAN 端口)-> 路由器-> 以太网(LAN 端口)-> Surface pro 3)
这表明问题出在路由器上,位于无线天线和 LAN 端口之间。关于 UDP 数据包如何在内部移动以进行广播的一些事情正在减慢该过程。这又很有趣,因为 TCP 数据包从 LAN 流向无线网络就好了。有什么想法吗?
network-traffic - 是否可以在 MAC 机器上安装 Facebook 增强流量控制?
我已参考此链接https://github.com/facebook/augmented-traffic-control来配置 ATC。请让我知道是否有人在 MAC 机器上进行了相同的配置。
objective-c - 目标 c 中的带宽限制(限制 NSURLConnection 数据速率)
我想降低我的 mac os x 应用程序的数据速率(带宽限制)。
我已经尝试过将睡眠置于- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
方法中,但这对我没有帮助。
我也在检查这个问题
Limit NSURLConnection data rate? (带宽限制)
但这对我没有帮助。
是否有其他方法可以在目标 c 中实现带宽限制
java - 谷歌浏览器使用 Selenium 进行节流
一年前有一个与此类似的问题(使用 chrome 和 selenium 进行网络节流),但看起来该问题的答案不再有效,因为过去几个月已经出现了错误和修复。https://bugs.chromium.org/p/chromedriver/issues/detail?id=984
我正在尝试使用用 Java 实现的 selenium 在谷歌浏览器中实现网络节流,但几乎没有成功。我正在使用最新的 chrome 驱动程序和独立服务器 3.0.1。
非常感谢任何和所有帮助!
jmeter - JMeter - 带宽控制不起作用
我正在尝试使用不同质量的网络运行测试计划。为此,我设置了“HTTP 请求默认值”,因此它们都使用 HTTP 3.1 或 4。
然后我传递了如下属性:
-Jhttpclient.socket.http.cps=21888 -Jhttpclient.socket.https.cps=21888
但是它似乎没有做太多,我是否需要启用 user.properties 中的设置(可能为 0),然后我可以用该属性覆盖?
我正在使用分布式测试计划(非 gui 模式下的多个负载生成器)来执行此操作,但由于它们都是通过一个“主”节点启动的,我认为它们都会占用该属性。
c# - C#.Net 带宽计算 VS Speedtest.net 速度
我们正在开发需要捕获当前互联网带宽的 Windows 桌面应用程序。我们按顺序多次下载 ZIP 文件,但结果与Speed Test不匹配。我们正在捕获 ACTIVE 网卡上接收到的字节,但顺序下载未提供预期结果。我们甚至多次尝试并行下载不同的文件,但都失败了。
只有当我们并行下载不同的文件并同时使用Speed Test进行测试时,我们才能获得成功。
现在这是我的几个问题:
- TCP HOPS 之间的带宽会影响我们的带宽吗?
- TCP HOPS 之间的流量会影响我们的带宽吗?
- 如何使用 HTTP / TCP 下载和 C# .NET 有效地消耗整个带宽?
- ISP 是否会限制每个 TCP 套接字连接的带宽?
ISP 是否为http://www.speedtest.net提供带宽?(有可能,因为它总是可以显示预期的结果,但其他网站不能)
/li>
java - 为云服务实现 API 节流的速率限制模式
我想为提供的一组服务实施节流。在峰值负载下,我想限制或拒绝对长时间运行的用户或发送大量数据的用户或其他甚至可以在后期进行配置的规则的服务。我计划使用 java 和 spring 框架来编写代码。
我已阅读有关速率限制模式的信息。stack-overflow 帖子建议的一种可能实现是Token_bucket。文章感觉很复杂。任何人都可以提出其他替代方法或模式。以及描述它们的好文章。
我还从 microsoft- cloud design pattern中找到了另一个 pdf 文件。但它并没有提供太多关于实现节流模式的内容。但类似的文章将不胜感激。
linux - 如何使用 netem 仅限制传入流量?
如何使用 netem 将传入带宽限制为 1Mbps?我搜索了 tc 命令,但我不明白使用的命令是否限制了传入和传出流量。
在我的情况下,我只需要将传入带宽设置为 1Mbps 2 分钟,然后在接下来的 2 分钟内设置为 2Mbps,依此类推,没有任何延迟或数据包上的任何其他内容。
我将使用 google QUIC 协议而不是 TCP。