問題タブ [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.

0 投票する
3 に答える
2872 参照

git - Git でトリクルを使用する

トリクルを使用して単純な git pull を調整したいと思います。これは簡単なように思えますtrickle -d 100 git pullが、git が帯域幅レートを表示すると、まだ 3.3 MiB/s 前後で推移しており、想定される最大値である 1000 KB/s をはるかに上回っています。

トリクルが 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

もちろん、それ以外の情報も喜んで提供します。ありがとうございました。

0 投票する
1 に答える
191 参照

java - Java でネットワーク帯域幅を制限する

次のことを行う必要があります。

1. Find the current network bandwidth.

2. Limit the bandwidth to download the file by 50%.

これについていくつかの調査を行いましたが、これを行う良い方法を見つけることができません。

しばらくデータを送信し、それに対していくつかの演算を行って帯域幅を計算するようなものです。

より良いアプローチがあるかどうか疑問に思っていましたか?これには余分な時間がかかるため (データの送受信 + 帯域幅の計算)。ダウンロード要求が来るたびに、何度も何度もやりたくありません。

0 投票する
1 に答える
55 参照

language-agnostic - リクエストを自発的に調整する

Webクローラー/スクレーパーを作成する場合、リクエストを抑制し、サーバーのDoS攻撃/禁止を回避するために利用できるアルゴリズムと手法は何ですか? これは、Webスクレイピングについて読むときによく出てきますが(たとえば、ここ)、常に「スロットリングを実装する必要がありましたが、実装していませんでした」のようなものです:)

サーバー側でリクエストを調整する方法についての議論がほとんどで、他のもの (この質問など) は一部のライブラリに固有のものであるため、私の Google-fu は弱い可能性があります。

0 投票する
1 に答える
1503 参照

c++ - WinHTTP API で帯域幅の使用を制限する方法

この記事の最後にあるような C++ コードで WinHTTP API を使用しています。Windows サービスから実行され、バックグラウンドで更新をダウンロードするために使用されます。コードは問題なく動作しますが、アップデートをダウンロードするときに、コードがクライアント コンピュータで使用可能な帯域幅を使いすぎるという苦情が寄せられています。

それらの WinHTTP API を作成する方法、特に使用する帯域幅を制限する方法はありWinHttpQueryDataAvailableますWinHttpReadDataか? たとえば、利用可能な帯域幅の最大 30% です。

PS。参照しやすいように、 MSDN の記事から参照しているコードをコピーします。

編集:@RemyLebeauの提案をフォローアップしながら、上記の方法で使用される現在のダウンロード速度を計算し、「スリープ」APIを使用してそれ自体を調整しようとするテストC++プロジェクト(ここからダウンロードできます)を作成しました。残念ながら、私が得た結果はまったく予想外のものです。スクリーンショットを作成しました:

ここに画像の説明を入力

私の読書とタスク マネージャーが私に与えているものとの違いを見てください。(これらのテストを実行していた時点では、何も帯域幅を使用していないことに注意してください。)

私は何かが欠けているに違いない。問題は何ですか?

0 投票する
0 に答える
86 参照

c# - 特定の帯域幅調整要件に使用できる API は何ですか?

次のことを実現するために使用できる API を知る必要があります。

  • Windows マシン (アプリケーション A と呼びます) で実行されている既存のプロセスがあります。これは、この Windows マシン上の既存のプロセスである可能性があります。
  • A の帯域幅使用量を調整する別のアプリケーションをコーディングしたいと考えています (アプリケーション B と呼びます)。
  • B は、A の累積的なアップロード速度とダウンロード速度を別々に調整できるはずです。たとえば、A に最大 5 Kbps のアップロードが割り当てられている場合、A のすべてのアップロード ストリームは累積量 5 Kbps に制限されます。

私の要件:

  • カーネル モード ドライバーを使用できません。
  • これをユニバーサル ソリューションにする必要があるため、B はシステム上の他のプロセスを抑制できます (つまり、A のソース コードを変更することはできません)。

特にStack Overflowでこれを調査しようとしましたが、私の場合に役立つものは何も見つかりませんでした:

BがAの帯域幅使用量を調整するために、特定の帯域幅調整要件にどのAPIを使用できるか知っている人はいますか?