web-dev-qa-db-ja.com

送信デーモン:UDPが受信/送信バッファーの設定に失敗しました

transmission{-daemon,-cli}私のDebian 10バスターにインストールし、マイナーな問題とメジャーな問題をいくつかインストールしました。

それらのマイナーなものの1つは、ログに従ってUDP受信バッファー/送信バッファーを設定する明らかな失敗です:

[2019-05-23 12:45:40.950] UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:84)
[2019-05-23 12:45:40.950] UDP Please add the line "net.core.rmem_max = 4194304" to /etc/sysctl.conf (tr-udp.c:89)
[2019-05-23 12:45:40.950] UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:95)
[2019-05-23 12:45:40.950] UDP Please add the line "net.core.wmem_max = 1048576" to /etc/sysctl.conf (tr-udp.c:100)

クライアントに最大のパフォーマンスを見せてほしいので、システムでこれらの2つのことを調整する方法に興味があります。 4 on 1 MiBは私にはあまり思われませんが、私はネットワーキングの専門家ではないので、さらに高い数値に調整できるかどうか、詳しく説明してください。


ハードウェア

ISPリンク速度:

Approx 30 / 25

接続構成:転送されたポートを持つパブリック静的IPv4。


完全を期すために、他のコンポーネントについても触れさせてください。この情報がここで重要かどうかはわかりません。ですから...

2

以下 この古い記事 が役立ちました。最初に、主張されている解決策について触れましょう。

  1. このテキストファイルをrootとして開きます。これは、これらの重要なシステムファイルの1つであることに注意してください。

    /etc/sysctl.conf
    
  2. 十分なメモリがあるので、この2行を追加しました。たとえば組み込みシステムを使用している場合は、これらの行を適用することを再検討する必要があるかもしれません(受信バッファーに16 MiB、送信バッファーに4 MiBを設定しています)、実際の実行メモリ要件はまだわかりません:

    net.core.rmem_max = 16777216
    net.core.wmem_max = 4194304
    
  3. 上記の行を追加することにした場合は、次のコマンドを使用して構成を再度読み取ることができます。

    sysctl -p
    

    再起動を有効にする必要はありません。


今、私はこれでそのウェブページを引用させてください:

このメッセージは、何らかの理由で、TransmissionがUDPソケット用に4メガバイトの受信バッファと1メガバイトの送信バッファを必要としていることを伝えようとしています。 uTPのサポートであるuTorrentトランスポートプロトコルは、単一のソケットを使用して実装されていることがわかります。

2つの変数を調整することにより、uTPを使用してより高いスループットをより簡単に達成できます。


単一のUDPソケットを使用して複数のuTPソケットを実装しているため、また着信UDPパケットのサービスに常にタイムリーであるとは限らないため、大きな受信バッファーを使用することが重要です。送信バッファはおそらくそれほど重要ではありませんが、それでも増加させます。

3