전송 데몬: UDP가 수신/전송 버퍼를 설정할 수 없습니다.

전송 데몬: UDP가 수신/전송 버퍼를 설정할 수 없습니다.

방금 transmission{-daemon,-cli}Debian 10 Buster에서 컴파일하고 설치했는데 몇 가지 사소하고 중요한 문제가 발생했습니다.

사소한 문제 중 하나는 로그에 따라 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)

고객이 나에게 최대 성능을 보여주기를 원하므로 내 시스템에서 이 두 가지를 조정하는 방법이 궁금합니다. 이것이 제안하는 것입니까? 4 on 1 MiB는 나에게는 아무 것도 아닌 것처럼 보이지만, 나는 네트워킹 전문가가 아니기 때문에 이 값을 더 높은 숫자로 조정할 수 있는지 자세히 설명해 주십시오.


하드웨어

ISP 링크 속도:

30/25경

연결 구성: 전달된 포트가 있는 공용 정적 IPv4.


완전성을 위해 다른 구성 요소도 언급하겠습니다. 여기서 이 정보가 중요한지 모르겠습니다.

답변1

다음과 같은이 오래된 기사도움이되었습니다. 먼저 알려진 솔루션을 언급하겠습니다.

  1. 이 텍스트 파일을 루트로 엽니다. 이 파일은 중요한 시스템 파일 중 하나입니다.

    /etc/sysctl.conf
    

    또 다른 옵션은 재정의할 매개변수를 보관하는 새 구성 파일을 만드는 것입니다. 하지만 이 질문 자체는 구성 방법에 관한 것이 아니므로 직접 다루겠습니다.

  2. 메모리가 충분했기 때문에 이 두 줄을 추가했습니다. 예를 들어 임베디드 시스템을 사용하는 경우 이 줄을 적용하는 것을 다시 고려해 볼 수 있습니다.수신 버퍼에 16MiB, 전송 버퍼에 4MiB를 설정했습니다.), 아직 실제 실행 메모리 요구 사항을 알 수 없습니다.

    net.core.rmem_max = 16777216
    net.core.wmem_max = 4194304
    
  3. 위에 이러한 줄을 추가하기로 결정한 경우 다음을 사용하여 구성을 다시 읽을 수 있습니다.

    sysctl -p
    

적용하려면 다시 시작할 필요가 없습니다.


이제 이 페이지를 인용하겠습니다.

이 메시지는 어떤 이유로 Transmission이 UDP 소켓에 대해 4MB의 수신 버퍼와 1MB의 전송 버퍼를 갖고 싶어한다는 것을 알려주려고 합니다. µTP(μTorrent Transfer Protocol)에 대한 지원은 단일 소켓을 사용하여 구현되는 것으로 나타났습니다.

이 두 변수를 조정하면 µTP를 사용하여 더 높은 처리량을 달성하는 것이 더 쉽습니다.


여러 µTP 소켓을 구현하기 위해 단일 UDP 소켓을 사용하고 있고 들어오는 UDP 패킷을 항상 적시에 서비스하지 않기 때문에 더 큰 수신 버퍼를 사용하는 것이 중요합니다. 전송 버퍼는 덜 중요할 수도 있지만 어쨌든 추가했습니다.

답변2

답변된 솔루션은 잘 작동하지만체계다음 줄을 작성해야 합니다.

/etc/sysctl.d/<anyname>.conf

그런 다음 루트로 다음을 실행합니다.

systemctl restart systemd-sysctl

관련 정보