问题标签 [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.
git - 在 Git 中使用涓涓细流
我想限制一个简单的 git pull 使用涓流。这看起来应该很简单:trickle -d 100 git pull
,但是当 git 显示它的带宽速率时,它对我来说仍然徘徊在 3.3 MiB/s 左右,远高于假设的最大值 1000 KB/s。
令人沮丧的是,trickle 似乎已经 8 年没有更新了,但我希望我仍然可以解决这个问题。
其他可能有用的随机信息:
- 软呢帽 20
trickle -V
:trickle: version 1.07
git --version
:git version 1.9.0
- 我也使用
hub
,但我尝试过使用和不使用集线器。我看不出有什么不同。 - 我用zsh。
ip addr
:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:2e:5f:86:4b:8b brd ff:ff:ff:ff:ff:ff
inet 192.168.1.142/24 brd 192.168.1.255 scope global dynamic em1
valid_lft 64050sec preferred_lft 64050sec
inet6 2601:d:b700:679:a2e:5fff:fe86:4b8b/64 scope global noprefixroute dynamic
valid_lft 216580sec preferred_lft 216580sec
inet6 fe80::a2e:5fff:fe86:4b8b/64 scope link
valid_lft forever preferred_lft forever
3: wlo1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 4c:80:93:a0:d7:14 brd ff:ff:ff:ff:ff:ff
当然,我非常乐意提供任何其他信息。谢谢你。
java - 限制java中的网络带宽
我需要做以下事情:
1. Find the current network bandwidth.
2. Limit the bandwidth to download the file by 50%.
我对此进行了一些研究,但我找不到任何好的方法。
就像通过发送一些数据一段时间并对其进行一些算术来计算带宽一样。
我想知道是否有更好的方法?因为这将花费额外的时间(发送和接收数据+计算带宽)。每次收到下载请求时,我都不想一次又一次地这样做。
python - 限制 Python 上每秒的 HTTP 请求数
我编写了一个从文件中获取 URL 并同时向所有 URL 发送 HTTP 请求的脚本。我现在想限制会话中每秒 HTTP 请求的数量和每个接口(、等)的eth0
带宽eth1
。有没有办法在 Python 上实现这一点?
c++ - 使用 WinHTTP API 限制带宽使用的方法
我在类似于本文底部的 C++ 代码中使用 WinHTTP API 。它从我的 Windows 服务运行,用于在后台下载更新。该代码工作正常,除了我收到的投诉称,当它下载更新时,该代码占用了客户端计算机上可用的太多带宽。
有没有办法制作这些 WinHTTP API,WinHttpQueryDataAvailable
特别WinHttpReadData
是限制它们使用多少带宽?比如说,高达 30% 的可用带宽。
PS。为了便于参考,我将复制我从MSDN 文章中引用的代码:
编辑:在跟进@RemyLebeau 的建议时,我创建了一个测试 C++ 项目(您可以从这里下载),它试图计算上述方法使用的当前下载速率并使用“睡眠”API 来限制自身。不幸的是,我从中得到的结果非常出乎意料。我做了一个截图:
看看我的阅读和任务管理器给我的区别。(请注意,在我运行这些测试时没有使用带宽。)
我肯定错过了什么。问题是什么?
c# - 我可以使用哪些 API 来满足我的特定带宽限制要求?
我需要知道我可以使用哪些 API 来完成以下操作:
- 我有一个在 Windows 机器上运行的现有进程(称为应用程序 A),它可以是这台 Windows 机器上的任何现有进程。
- 我想编写另一个应用程序来限制 A 的带宽使用(称为应用程序 B)。
- B 应该能够分别限制 A 的累积上传和下载速度。例如,如果 A 分配给上传的最大流量为 5 Kbps,那么 A 的所有上传流将被限制为 5 Kbps 的累积量。
我的要求:
- 我不能使用内核模式驱动程序。
- 我需要使它成为一个通用的解决方案,以便 B 可以限制系统上的任何其他进程(换句话说,我不能更改 A 的源代码)。
我试图对此进行研究,尤其是在 Stack Overflow 上,但找不到任何对我的案例有用的东西:
- 我已经看到这个在 Stream 对象周围使用 ThrottledStream 类包装器的示例,该对象在使用时会引入节流,但我需要这是一个通用应用程序,所以我不能使用这种方法(我无法更改 A 的源代码) .
- 我已经看到这个问题的答案是关于使用 Windows 过滤平台 API 的。不幸的是,我有一个要求是我绝对不能使用内核模式驱动程序来完成这个,我的理解是 WFP API 需要一个。
有谁知道我可以使用哪些 API 来满足我的特定带宽限制要求,以使 B 限制 A 的带宽使用?
c# - 如何在 Windows 中(在用户模式下)中限制应用程序域级别的带宽?
我想让以下事情发生:
- 我的应用程序在 Windows 机器上运行(称为应用程序 A)。
- 我可以修改应用程序 A 的源代码来引入带宽限制。
- 我希望能够重用我的带宽限制代码并将其放入我拥有的任何其他应用程序中(换句话说,我想尝试在应用程序域级别限制带宽,以便不必重构现有的带宽限制应用程序)。
- 我想分别限制A的累积上传和下载速度。例如,如果 A 分配给上传的最大流量为 5 Kbps,那么 A 的所有上传流将被限制为 5 Kbps 的累积量。
我的要求:
- 我不能使用内核模式驱动程序。
- 我需要在应用程序域级别添加限制。
我试图对此进行研究,尤其是在 Stack Overflow 上,但找不到任何对我的案例有用的东西:
- 我已经看到了在 Stream 对象周围使用 ThrottledStream 类包装器的示例,该类包装器在使用时会引入节流,但我需要将其置于域级别;采用这种方法是有问题的,因为它需要我在其他应用程序中重构大量现有代码。
- 我已经看到这个问题的答案是关于使用 Windows 过滤平台 API 的。不幸的是,我有一个要求是我绝对不能使用内核模式驱动程序来完成这个,我的理解是 WFP API 需要一个。
有谁知道一种方法来实现我的特定带宽限制要求,以便在应用程序域级别限制应用程序?
linux - 模拟两台 ubuntu 服务器机器之间的慢速连接
我想模拟以下场景:假设我有 4 台 ubuntu 服务器机器 A、B、C 和 D。我想将机器 A 和机器 C 之间的网络带宽减少 20%,将 A 和 B 之间的网络带宽减少 10%。如何使用网络模拟/节流工具来做到这一点?
macos - 如何在优胜美地中以编程方式限制/限制带宽?
在 OS X 10.10 中,ipfw(ipfirewall)被移除并替换为 pf firewall。pf 使用可用于创建带宽规则的 ALTQ 网络调度程序。10.10 内核不支持 ALTQ,因此忽略任何带宽规则。因此,一些 UI 工具(例如 Icefloor)目前不支持 Yosemite 中的带宽管理。
据我所知,只有 Apple 的 Network Link Conditioner 能够操纵带宽,但不幸的是,这只是一个 Preference Pane - 我不知道他们是如何实现的。
还有其他可以使用的工具吗?这可以在较低级别完成吗?
http - 限制http get的带宽
我是golang的初学者。
有没有办法限制 golang 的 http.Get() 带宽使用?我发现了这个: http: //godoc.org/code.google.com/p/mxk/go1/flowcontrol,但我不知道如何将两者拼凑在一起。如何访问 http 阅读器?