6.2. iperf3을 사용하여 UDP 처리량 테스트


iperf3 유틸리티는 두 호스트 간에 네트워크 처리량 테스트를 수행하는 서버와 클라이언트 모드를 제공합니다.

참고

애플리케이션의 처리량은 애플리케이션에서 사용하는 버퍼 크기와 같은 여러 요인에 따라 달라집니다. 따라서 iperf3 과 같은 테스트 유틸리티로 측정된 결과는 프로덕션 워크로드의 서버의 애플리케이션과 크게 다를 수 있습니다.

사전 요구 사항

  • iperf3 패키지는 클라이언트와 서버 둘 다에 설치됩니다.
  • 두 호스트의 다른 서비스는 테스트 결과에 상당한 영향을 미치는 네트워크 트래픽을 유발하지 않습니다.
  • 선택 사항: 서버와 클라이언트 모두에서 최대 UDP 소켓 크기를 늘렸습니다. 자세한 내용은 시스템 전체 UDP 소켓 버퍼 중단을 참조하십시오.

프로세스

  1. 선택 사항: 서버와 클라이언트 모두에서 NIC(네트워크 인터페이스 컨트롤러)의 최대 네트워크 속도를 표시합니다.

    # ethtool enp1s0 | grep "Speed"
       Speed: 10000Mb/s
  2. 서버에서 다음을 수행합니다.

    1. 최대 UDP 소켓 읽기 버퍼 크기를 표시하고 값을 확인합니다.

      # sysctl net.core.rmem_max
      net.core.rmem_max = 16777216

      표시된 값은 바이트 단위입니다.

    2. firewalld 서비스에서 기본 iperf3 포트 5201을 일시적으로 엽니다.

      # firewall-cmd --add-port=5201/tcp --add-port=5201/udp

      iperf3 은 서버에서 TCP 소켓만 엽니다. 클라이언트에서 UDP를 사용하려는 경우 먼저 이 TCP 포트에 연결한 다음 서버는 UDP 트래픽 처리량 테스트를 수행하기 위해 동일한 포트 번호에 UDP 소켓을 엽니다. 따라서 로컬 방화벽에서 TCP 및 UDP 프로토콜 모두에 대해 포트 5201을 열어야 합니다.

    3. 서버 모드에서 iperf3 을 시작합니다.

      # iperf3 --server

      이제 서비스는 들어오는 클라이언트 연결을 기다립니다.

  3. 클라이언트에서 다음을 수행합니다.

    1. 클라이언트가 서버 연결에 사용하는 인터페이스의 최대 전송 단위(MTU)를 표시하고 값을 확인합니다.

      # ip link show enp1s0
      2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
      ...
    2. 최대 UDP 소켓 쓰기 버퍼 크기를 표시하고 값을 확인합니다.

      # sysctl net.core.wmem_max
      net.core.wmem_max = 16777216

      표시된 값은 바이트 단위입니다.

    3. 처리량 측정을 시작합니다.

      # iperf3 --udp --time 60 --window 16777216 --length 1472 --bitrate 2G --client 192.0.2.1
      • --UDP: 테스트에 UDP 프로토콜을 사용합니다.
      • --time <seconds > : 클라이언트가 전송을 중지한 시간을 초 단위로 정의합니다.
      • --window & lt;size > : UDP 소켓 버퍼 크기를 설정합니다. 이상적으로는 클라이언트와 서버 모두에서 크기가 동일합니다. 서로 다른 경우 이 매개변수를 클라이언트의 net.core.wmem_max 또는 서버의 net.core.rmem_max 값으로 설정합니다.
      • --length <size > : 읽고 쓸 버퍼의 길이를 설정합니다. 이 옵션을 조각화되지 않은 가장 큰 페이로드로 설정합니다. MTU - IP 헤더(IPv4의 경우 20바이트, IPv6의 경우 40바이트) - 8바이트 UDP 헤더와 같이 이상적인 값을 계산합니다.
      • --bit rate &lt;rate> : 비트 속도를 초당 지정된 값으로 제한합니다. 2Gbps의 경우 2G 와 같은 단위를 지정할 수 있습니다.

        이 매개변수를 작업할 것으로 예상되는 값으로 설정하고 이후 측정에서 늘립니다. 클라이언트가 전송 경로의 장치보다 빠른 속도로 패킷을 전송하거나 서버에서 처리할 수 있는 경우 패킷을 삭제할 수 있습니다.

      • --client <server >: 클라이언트 모드를 활성화하고 iperf3 서버를 실행하는 서버의 IP 주소 또는 이름을 설정합니다.
  4. iperf3 이 테스트를 완료할 때까지 기다립니다. 서버와 클라이언트 모두 통계를 1초마다 표시하고 마지막에 요약을 표시합니다. 예를 들어 다음은 클라이언트에 표시되는 요약입니다.

    [ ID] Interval       Transfer      Bitrate         Jitter    Lost/Total Datagrams
    [ 5] 0.00-60.00 sec  14.0 GBytes   2.00 Gbits/sec  0.000 ms  0/10190216 (0%) sender
    [ 5] 0.00-60.04 sec  14.0 GBytes   2.00 Gbits/sec  0.002 ms  0/10190216 (0%) receiver

    이 예에서는 평균 비트 비율이 2Gbps이고 패킷이 손실되지 않았습니다.

  5. 서버에서 다음을 수행합니다.

    1. Ctrl+C 눌러 iperf3 서버를 중지합니다.
    2. firewalld 에서 포트 5201을 종료합니다.

      # firewall-cmd --remove-port=5201/tcp --remove-port=5201/udp
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동