問題タブ [iperf]

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 投票する
1 に答える
854 参照

android - Runtime.getRuntime().exec() androidでiperfコマンドを正しく実行する方法

Android デバイスで iperf サーバーとクライアントを実行しようとしているので、exec() を使用してアプリを開発しました。ls、ping などのコマンドでは問題なく動作していますが、 iperf -sを実行しようとするとエラーが発生しました。コードは次のとおりです。マニフェストファイルにインターネット許可を追加しました。助けていただければ幸いです

iperf コマンドの作業ディレクトリと環境は??

次のエラーが発生しました

0 投票する
2 に答える
396 参照

wifi - IPERF; 隣接する Wi-Fi チャネルでのパケット損失

2 つの iperf クライアントとサーバーがあります。どちらも5GHz。どちらも20MHzチャンネルです。1 つの iperf クライアントはチャネル 36 を介してデータを送信し、もう 1 つはチャネル 40 を介してデータを送信しています。両方のチャネルで同時にデータを送信すると、大きな損失が発生しますが、いずれかの iperf クライアントを介してデータを送信するとほとんど損失はありません。このシナリオの考えられる理由は何ですか? そして、それらを修正する方法は?

注: これらのチャネルで動作している他の Wi-Fi デバイスはありません。実験は部屋に設置されているので、範囲は問題になりません。UDP が使用されています。

iperf サーバー コマンド: iperf -s -u -w 320k

iperf クライアント コマンド:iperf -c 192.168.XX.XXX -u -w 320k -t 10 -i 1 -b 300M

0 投票する
2 に答える
16499 参照

python - haproxy の Iperf を使用した udp トラフィック

私は、Docker Container を使用した Haproxy の「パフォーマンス評価」に関する個人的なプロジェクトに取り組んでいます。私は Python でプログラミングしており、トラフィックの生成に iperf を使用しています。

クライアントとサーバーとしていくつかの Docker コンテナーを作成しました。クライアントは、ロード バランサーとして機能する Haproxy コンテナーを介してサーバーに udp トラフィックを送信することになっています。

問題は、クライアントからサーバーに udp トラフィックを送信しようとすると、Haproxy が接続を拒否することです。公式ドキュメントには、UDP ポートをバインドまたはリッスンする方法が見つかりませんでした。

(前もって)ご返信に感謝いたします。

これが私のhaproxy.cfgのコピーです。

global quiet nbproc 4 daemon listen tcp_haproxy 172.17.4.230:5001 balance roundrobin server server0 172.17.4.227:5001 server server1 172.17.4.228:5001 server server2 172.17.4.229:5001

0 投票する
2 に答える
8613 参照

linux - net.core.rmem_max より大きい TCP 受信ウィンドウ サイズ

iperf10Gbit リンクを介して接続された 2 つのサーバー間で測定を実行しています。観察した最大ウィンドウ サイズをシステム構成パラメーターと関連付けようとしています。

特に、最大ウィンドウ サイズが 3 MiB であることを確認しました。ただし、システム ファイルに対応する値が見つかりません。

実行するsysctl -aと、次の値が得られます。

最初の値は、最大受信ウィンドウ サイズが 6 MiB であることを示しています。ただし、TCP は要求されたサイズの 2 倍を割り当てる傾向があるため、受信ウィンドウの最大サイズは、私が測定したとおり 3 MiB である必要があります。からman tcp:

TCP は、setsockopt(2) 呼び出しで要求されたバッファーのサイズの 2 倍を実際に割り当てるため、後続の getsockopt(2) 呼び出しは、setsockopt(2) 呼び出しで要求されたのと同じサイズのバッファーを返さないことに注意してください。TCP は管理目的と内部カーネル構造のために余分なスペースを使用し、/proc ファイルの値は実際の TCP ウィンドウと比較してより大きなサイズを反映しています。

ただし、2 番目の値 はnet.core.rmem_max、最大レシーバー ウィンドウ サイズが 208 KiB を超えることはできないことを示しています。によると、これはハードリミットであると想定されていますman tcp

tcp_rmem max: 各 TCP ソケットが使用する受信バッファの最大サイズ。この値はglobalをオーバーライドしませんnet.core.rmem_max。これは、ソケットで SO_RCVBUF を使用して宣言された受信バッファーのサイズを制限するためには使用されません。

で指定されたものよりも大きな最大ウィンドウ サイズが表示されるのはnet.core.rmem_maxなぜですか?

注意: 帯域幅と遅延の積も計算しました。window_size = Bandwidth x RTTこれは約 3 MiB (10 Gbps @ 2 ミリ秒 RTT) であり、トラフィック キャプチャを検証しています。

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

python - Mininet ネットワークを介して「ランダムな」トラフィックを送信する

Mininet を使用してデータセンターのルーティングアルゴリズムをテストしたいと考えています。トラフィックは、特定のパラメーターに準拠する必要があります。

  1. さまざまなサイズの「ファイル」で構成する必要があります (これらは実際にファイルである必要はないことに注意してください。サイズが制御可能である限り、たとえば iperf で生成されるトラフィックは問題ありません)。
  2. ファイル サイズは、特定のディストリビューションから取得する必要があります。
  3. データが送信されるソース/宛先ホストのペアは、特定のファイルに対してランダムに選択する必要があります。
  4. ファイルが送信されてから後続のファイルが送信されるまでの間隔はランダムにする必要があります。と
  5. 転送に時間がかかる 2 つのホスト間で巨大なファイルが送信された場合でも、ネットワーク内の他のホスト間でデータを送信できるはずです。

ポイント1~4はお世話になっています。私は何日も #5 に苦労してきましたが、正しく動作させることができません。私の最初の考えは、サブプロセス/スレッドを生成して、iperf コマンドをホストに送信することでした。

コマンド test_custom_iperf は、Python Mininet API のバージョンの iperf をモデルにして、-n転送サイズ パラメーターを含めます。

このノンブロッキングにするのは非常に困難でした。何らかの理由でコマンドを送信できるようにする必要があり、server.sendInt()これを行うには、クライアントのコマンドが完了するまで待つ必要があります。

この作業を行うために何ができるかについてのアドバイスをいただければ幸いです。

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

bash - bashスクリプトで目的の時間関数を実行中にプログレスバーを描画する

[===> ] 20% 完了など、完了する関数のパーセンテージを与えながらプログレス バーを追加したい。たとえば、使用するコードがあり、必要なiperf期間を指定します。

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

server - PyQt4: iperf3 を開始する QProcess がサーバーに接続できない

これが私がやろうとしていることです: PyQt4 を使用して GUI プログラムを構築し、2 台のコンピューター間の接続のテストを容易にします (人的エラーを最小限に抑えるため)。したがって、このプログラムの一部は、QProcess を使用して、クライアントまたはサーバーとして機能する iperf3 を開始することです。QProcess は正常に iperf3 を開始して結果を出力できましたが、ターミナルからサーバーに接続できたにもかかわらず、何らかの理由で PyQt の iperf3 クライアントがサーバーに接続できません。

サーバーとクライアントとして機能する状況と組み合わせの簡単な説明を次に示します。

  • クライアントとしてのターミナルの iperf3 -> サーバーとしての PyQt の iperf3 - 成功
  • クライアントとしてのターミナルの iperf3 -> サーバーとしてのターミナルの iperf3 - 成功
  • クライアントとしての PyQt の iperf3 -> サーバーとしての PyQt の iperf3 - 接続できません
  • クライアントとしての PyQt の iperf3 -> サーバーとしてのターミナルの iperf3 - 接続できません

ファイアウォールを確認し、無効にして問題が解決するかどうかを確認しましたが、解決しませんでした。念のため、ターミナルで iperf3 に使用したコマンドについて知りたい場合は、次のとおりです。

  • クライアント - iperf3 -c 127.0.0.1 -u -t 10
  • サーバー - iperf3 -s

QProcessに関しては:

  • self.process.start('iperf3',['-c 127.0.0.1 -u -t 10'])
  • self.process.start('iperf3',['-s'])

さらに詳しい情報が必要な場合は、お知らせください。この問題に関するヘルプ/洞察に感謝します。ところで、私はこのプログラムを今のところラップトップでローカルにテストしているので、ループバック アドレスを確認する必要があります。