라우터나 노트북의 CPU가 부족한가요? VPN 속도가 일찍 멈추는 이유
링크가 가득 차기 전에 라우터나 노트북의 처리 능력이 바닥날 수 있습니다. 통제된 전송 중 코어별 부하를 살펴보고, 누구를 탓하기 전에 오프로드를 확인하세요.
라우터는 빠른 Wi-Fi를 광고하지만 세 기기의 트래픽을 동시에 암호화하는 데 어려움을 겪습니다. 노트북은 처리 한계에 도달하는데 액세스 링크에는 아직 여유가 있습니다. 보통 서버가 먼저 의심받고, 대개 서버는 결백합니다. 한계는 터널 작업을 하는 기계 쪽에 있으며, 그것을 찾으려면 속도 테스트가 아니라 그 기계를 지켜봐야 합니다.
증상은 한 대의 기계를 가리키며, 인터넷을 가리키지 않습니다
터널이 어디서 도는지가 어느 프로세서가 비용을 치르는지를 결정합니다. 라우터가 터널을 종료하면 포함된 모든 클라이언트가 그 라우터의 예산을 나눠 씁니다. 노트북이 클라이언트를 실행하면 노트북이 비용을 치르고 라우터는 치르지 않습니다. 양쪽 끝에서 터널을 돌리면 두 개의 작업 부하가 생기고, 각각 다른 날 한계가 될 수 있습니다. 기계를 지목하는 것이 첫 단계이며, 제공업체에 티켓을 열 때 사람들이 건너뛰는 단계가 바로 이것입니다.
애플리케이션과 먼 쪽 끝 사이의 기기를 세고, 그다음 암호화하는 기기를 표시하세요. 나머지는 읽을 수 없는 바이트를 실어 나를 뿐입니다.
전송 중 코어별 부하를 살펴보세요
전체 CPU 백분율은 암호화 작업이 종종 코어 하나를 붙잡아 두고 나머지는 놀고 있기 때문에 잘못된 도구입니다. 통제된 전송 중 코어별 수치를 보고 포화에 가까운 코어를 주목하세요. 스레드 하나가 바쁜 중간 수준의 평균은 강한 신호이고, 바쁜 스레드 없이 높은 평균은 대개 무관한 프로그램을 뜻합니다. 숫자보다 패턴이 더 중요합니다.
mpstat -P ALL 1 5
top -H -b -n 1 | head -20
lscpu | grep -i -E "model name|aes"
세 번째 명령은 프로세서가 AES 명령어를 제공하는지 알려 주며, 이는 같은 암호의 비용을 크게 바꿉니다. 그것이 VPN 구현에서 실제로 쓰이는지는 알려 주지 않으며, 이 두 사실 사이의 간극이 대부분의 최적화 주장이 나오는 곳입니다.
암호화와 패킷 처리를 분리하세요
암호화는 여러 비용 중 하나입니다. 커널과 사용자 공간 사이의 패킷 복사, 라우팅 조회, 방화벽 규칙, 인터페이스 처리가 모두 기여하며, 어떤 구현은 암호화보다 복사에 더 많은 비용을 치릅니다. 모든 사이클을 프로세스 이름으로 설명하려 하지 말고 전송과 함께 어떤 카운터가 오르는지 보세요. 사용자 공간의 터널과 커널 내부의 터널은 동일한 트래픽에도 전혀 다른 프로파일을 보일 수 있습니다.
커널 내부에서 코어 하나가 바쁘면 해법은 사용자 공간의 바쁜 스레드와 다르며, 프로파일이 어느 쪽인지 알려 줍니다. 그 구분은 하드웨어를 사기 전에 한 시간을 들일 가치가 있습니다.
결론을 내리기 전에 같은 조건끼리 비교하세요
비교는 작업, 액세스 네트워크, 종단점이 같을 때만 유용합니다. 서버를 바꾸면 결과에 그 서버의 경로와 용량이 포함되고, 네트워크를 바꾸면 통신사가 포함됩니다. 같은 파일, 같은 목적지, 같은 시간대를 쓰고 자신의 백그라운드 작업을 멈추세요. 기기를 바꿔야 한다면 기기만 바꾸세요.
전력과 열은 지속 성능을 바꾸므로 차가운 기계에서의 짧은 실행은 뜨거운 기계에서의 긴 전송과 같은 측정이 아닙니다. 그래프에서 열 한계는 처리 한계와 똑같이 보이므로 비슷한 전력 조건을 비교해 기록해 두세요.
지원되는 오프로드를 쓰고 실제로 켜졌는지 확인하세요
일부 구현은 데이터 경로의 일부를 커널이나 하드웨어로 옮길 수 있으며, 가용성은 클라이언트, 운영 체제, 서버, 구성에 따라 다릅니다. 실행 중인 버전의 문서를 읽고 그 자체의 상태 출력이나 로그로 기능이 활성인지 확인하세요. 설치된 패키지나 체크 표시는 증거가 아닙니다. OpenVPN 매뉴얼은 자체 릴리스의 데이터 채널 옵션을 문서화하며, 그 옵션은 버전마다 다릅니다.
지원되는 변경이 상한을 옮기면 애플리케이션 작업과 대량 전송을 모두 다시 실행하고, 되돌릴 수 있도록 이전 프로파일을 남겨 두세요. 애플리케이션이 느린 채로 대량 속도만 두 배가 되었다면 병목이 제거된 것이 아니라 옮겨진 것입니다.
프로세서 관찰이 증상을 따르지 않으면 네트워크 쪽으로 돌아가세요. Wi-Fi 재시도, 대기열, 출구 경로는 CPU가 전혀 개입하지 않고도 같은 결과를 냅니다.