WireGuard · 2026-02-11

WireGuard 성능 벤치마크: CPU와 패킷 크기 분석

CPU 코어 수와 패킷 크기가 WireGuard 성능에 미치는 영향을 실험과 계측으로 분석하고, 측정 절차와 지표를 정리한 성능분석

작성일 : 2026-02-11 ㆍ 작성자 : 관리자
post
목차

개요

WireGuard는 경량화된 암호화 VPN으로 널리 사용된다. 하지만 실제 성능은 하드웨어와 설정에 따라 크게 달라진다. 본문에서는 WireGuard 벤치마크 방법을 제시하고, CPU 자원과 패킷 크기가 전송 속도와 지연에 어떤 영향을 주는지 단계적으로 설명한다. 처음 접하는 사용자도 이해할 수 있도록 측정 지표와 절차를 구체적으로 정리한다.

목표와 핵심 지표

목표

주요 목표는 다음과 같다.

  • CPU 코어 수 및 주파수 변화가 WireGuard 처리량에 미치는 영향 파악
  • 패킷 크기(MTU/세그먼트)가 전송 효율과 CPU 부담에 미치는 영향 분석
  • 측정 방법과 해석 기준 제공

핵심 지표

  • Throughput (Mbps 또는 Gbps)
  • Packets per second (pps)
  • CPU 사용률(유저/시스템/소프트irq 등)
  • 지연(latency)과 패킷 손실률

실험 환경

하드웨어·소프트웨어 구성

벤치마크는 다음을 기준으로 한다. 동일한 네트워크 인터페이스를 사용하는 두 대의 서버(클라이언트/서버), WireGuard 최신 커널 모듈 또는 커널 내장 버전, 그리고 타임스탬프 가능한 모니터링 도구가 준비되어야 한다.

테스트 도구 및 변수

  • iperf3: TCP/UDP 처리량 측정
  • pktgen 또는 tcpreplay: 패킷 단위 테스트(pps 측정)
  • top/htop, mpstat, perf: CPU 계측
  • 변수: CPU 코어 수(1,2,4,8), 패킷 크기(256B, 512B, 1.5KB, MTU 조정)

벤치마크 절차

환경 준비

테스트 전에 프로세스 고정, 전력 관리 비활성화, CPU 주파수 고정 등의 환경을 통일해야 한다. 또한 방화벽 룰과 기타 네트워크 서비스는 모두 비활성화한다.

측정 순서

  • WireGuard 인터페이스 구성 및 연결
  • iperf3로 기본 처리량 측정(TCP/UDP)
  • 패킷 크기별 반복 측정
  • CPU 코어 수 변경(스레드 바인딩) 후 재측정
  • 결과 수집 및 그래프화

예시 명령

# 서버: iperf3 서버 실행
iperf3 -s

# 클라이언트: WireGuard 인터페이스 통해 TCP 측정
iperf3 -c 10.0.0.1 -P 1 -t 30

# UDP 예시 (비트레이트 지정)
iperf3 -c 10.0.0.1 -u -b 1G -t 30

# CPU 바인딩 예시 (taskset 사용)
taskset -c 0-3 iperf3 -c 10.0.0.1 -P 4 -t 30

결과 해석: WireGuard 성능 측정

측정 결과는 단순한 대역폭 숫자보다 CPU 사용률과 pps를 함께 보아야 한다. 작은 패킷에서는 패킷 처리 오버헤드가 커서 pps(또는 시스템 콜, 암호화 오버헤드)가 병목이 되며, 큰 패킷에서는 라인 속도에 더 근접한다. 따라서 같은 대역폭이라도 패킷 크기에 따라 CPU 점유율이 크게 달라진다.

패킷 크기별 경향

  • 작은 패킷(256B 이하): pps 한계로 인해 CPU 사용률이 빠르게 상승, 처리량은 낮음
  • 중간 패킷(512B~1.5KB): 암호화와 네트워크 스택의 균형으로 실전 성능 관찰 가능
  • 최대 MTU(약 1.5KB 이상): 전송 효율 최대, CPU 부담은 상대적으로 낮음

CPU 코어 수 영향 분석 (WireGuard CPU 영향 속도)

WireGuard는 커널 내에서 패킷을 처리하므로 멀티코어 환경에서 소켓별로 부하 분산이 가능하다. 단일 코어에서는 암호화 연산이 병목이 되며, 코어를 늘리면 처리량이 증가하지만 증가 폭은 암호화 알고리즘과 메모리 대역폭에 따라 제한된다. 예를 들어 AES-NI가 활성화된 환경에서는 코어 추가에 따른 성능 개선이 더 완만해질 수 있다.

실무적 권장사항

  • 작은 패킷을 다루는 워크로드에서는 CPU 코어와 소켓 배치를 고려하여 pps 병목을 줄인다.
  • AES-NI 등 하드웨어 가속을 활성화하면 암호화 비용을 줄여 처리량을 높일 수 있다.
  • MTU 최적화로 패킷 분할을 줄이면 오버헤드를 감소시킬 수 있다.
  • 성능 측정 시에는 항상 CPU 프로파일링과 pps를 함께 기록한다.

결론

WireGuard 벤치마크는 단순한 속도 측정이 아니라 CPU와 패킷 크기 간 상관관계를 이해하는 과정이다. WireGuard 성능 측정 결과는 환경에 크게 의존하므로, 실제 운영 환경과 유사한 조건에서 반복 측정을 수행하는 것이 중요하다. 위 절차를 따라 계측하면 CPU 자원 분배와 MTU 정책을 근거 기반으로 결정할 수 있다.

WireGuard 벤치마크 방법 WireGuard 성능 측정 WireGuard CPU 영향 속도 WireGuard VPN 성능 네트워크 벤치마크 iperf3 패킷 크기 영향