v2rayN이나 v2rayNG에 연결되지만 웹페이지가 처음 열릴 때 느리거나, 다운로드 속도가 낮거나, 혼잡 시간대에 끊기는 경우에 해당합니다. 먼저 테스트 조건을 고정한 뒤 노드와 네트워크를 비교하고 로컬 프록시 진입점도 확인해 원인을 좁혀 보세요. 한 번에 하나씩만 변경하고 소요 시간, 오류, 복구 결과를 기록하면 DNS 대기, 노드 혼잡, 앱의 프록시 미사용을 혼동하지 않을 수 있습니다.
첫 연결 지연, 낮은 다운로드 속도, 잦은 끊김 구분하기
클라이언트에 표시되는 지연 시간은 실제 사용 가능한 대역폭을 뜻하지 않습니다. TCP 연결 테스트는 보통 포트 연결 가능 여부와 연결에 걸리는 시간만 보여 줍니다. ‘실제 연결 지연’에는 테스트 사이트, 핸드셰이크, 응답 시간도 영향을 줍니다. 지연 시간이 짧은 노드라도 공유 대역폭이 부족하면 다운로드가 느릴 수 있습니다. 반대로 먼 거리의 회선은 지연 시간이 길어도 대용량 파일을 안정적으로 내려받을 수 있습니다.
| 증상 | 우선 점검 항목 | 비교 방법 |
|---|---|---|
| 처음 열 때 오래 걸리고 이후에는 정상 | DNS, 핸드셰이크, 연결 재사용 | 같은 페이지를 반복 요청해 첫 요청과 이후 요청의 소요 시간 비교 |
| 다운로드 속도가 계속 느림 | 노드의 출구, 회선 용량, 대상 사이트의 속도 제한 | 파일 출처를 고정하고 노드 두 개를 차례로 테스트 |
| 일정 간격으로 멈춤 | 무선 간섭, 패킷 손실, 연결 시간 초과 | 노드는 그대로 두고 접속 네트워크 변경 |
| 특정 프로그램만 느림 | 앱 프록시 설정, 라우팅, 앱 자체 서비스 | 명시적으로 프록시를 지정한 요청과 해당 프로그램의 결과 비교 |
‘모든 사이트가 느리다’는 말은 실제 비교로 확인해야 합니다. 서로 다른 사이트 두 곳 이상을 테스트하고 웹페이지, 작은 파일, 지속 다운로드를 구분하세요. 특정 대상만 느리다면 노드는 그대로 두고 대상 서비스 상태, 지역별 접속 지점, 라우팅 규칙 적용 여부부터 확인하세요. 바로 노드 전체에 문제가 있다고 단정하지 마세요.
반복 가능한 속도 테스트 기준 만들기
테스트 전에 시스템 업데이트, 클라우드 드라이브 동기화, 다른 다운로드를 일시 중지하세요. 클라이언트 버전, 코어 버전, 노드 메모, 접속 네트워크, 라우팅 모드, 테스트 시간을 기록합니다. v2rayN 버전은 ‘도움말’ → ‘정보’에서 확인하고, 코어 버전은 시작 로그를 기준으로 확인하세요. 버전에 따라 메뉴 위치가 다를 수 있으므로 실제 표시되는 항목 이름도 함께 적어 두세요.
이 숫자는 테스트 설정값이며 속도를 보장하지 않습니다. 먼저 v2rayN의 ‘설정’ → ‘매개변수 설정’에서 로컬 수신 포트를 확인하고, 현재 진입점이 SOCKS를 지원하는지 확인하세요. 아래 예시는 Windows의 curl.exe를 사용합니다. 포트가 10808이 아니라면 실제 로컬 포트로 바꿔야 합니다.
curl.exe --proxy socks5h://127.0.0.1:10808 "https://v2ray-group.com/zh-CN/index.html" --output NUL --silent --show-error --connect-timeout 10 --max-time 20 --write-out "connect=%{time_connect}s tls=%{time_appconnect}s first=%{time_starttransfer}s total=%{time_total}s\n"
socks5h를 사용하면 대상 도메인 조회를 SOCKS 프록시 서버에 맡깁니다. 그렇다고 노드 서버 자체의 도메인까지 로컬에서 조회하지 않아도 된다는 뜻은 아닙니다. 이 명령은 작은 요청이 안정적으로 완료되는지 확인하는 용도이며 대역폭 측정에는 적합하지 않습니다. SOCKS 요청에서 time_connect는 주로 로컬 프록시 진입점에 연결하는 시간을 나타내므로 클라이언트와 노드 사이의 네트워크 지연으로 보면 안 됩니다. 첫 바이트까지 걸리는 시간에는 프록시 협상, 원격 연결, 사이트 처리 시간이 모두 포함됩니다.
1단계: 노드 부하와 출구 제한 확인
노드 단계에서는 ‘같은 접속 네트워크에서 노드별로 안정적인 속도 차이가 있는지’를 확인합니다. 출구나 서비스 회선이 서로 다른 노드 두 개를 선택해 같은 대상, 같은 시간대, 같은 방법으로 하나씩 테스트하세요. 노드 이름만 다르다고 실제 회선까지 다르다는 뜻은 아닙니다. 같은 서비스 업체의 여러 진입점이 출구 대역폭을 공유할 수도 있습니다.
대상 고정
테스트 URL, 파일, 라우팅 모드를 그대로 유지하세요. 요청이 프록시 아웃바운드로 전달되는지도 먼저 확인해야 합니다. 한 번은 프록시를 거치고 다른 한 번은 직접 연결 규칙을 타는 상황을 방지할 수 있습니다.
하나씩 테스트
v2rayN 메인 화면에서 노드를 선택하고 마우스 오른쪽 버튼 메뉴의 ‘활성 서버로 설정’을 눌러 전환하세요. 코어가 다시 로드될 때까지 기다린 뒤 요청을 보내고, 여러 노드를 동시에 측정하지 마세요.
시간대 기록
노드별로 3회 테스트해 중앙값과 실패 횟수를 기록하세요. 낮과 저녁에 각각 한 번씩 진행해 특정 시간대에만 속도가 크게 떨어지는지 확인합니다.
할당량 확인
서비스 제공업체 계정 페이지에서 남은 트래픽, 만료일, 속도 제한 규칙을 확인하세요. 구독을 갱신하면 설정은 새로 받아올 수 있지만 노드 용량이 늘어나거나 계정 속도 제한이 해제되지는 않습니다.
여러 대상에서 노드 A만 느리고 노드 B는 같은 시간에 정상이라면, 로컬 DNS를 바로 바꾸기보다 A 노드나 해당 회선을 먼저 의심하세요. A와 B가 같은 다운로드 사이트에서만 느리다면 대상 사이트의 속도 제한, 노드 출구 IP 제한, 출구에서 해당 사이트까지의 경로 문제도 고려해야 합니다.
2단계: 접속 네트워크와 전송 경로 확인
같은 노드와 같은 대상을 유지하면서 먼저 유선과 무선을 비교하고, 그다음 가정용 인터넷과 모바일 핫스팟을 비교하세요. 핫스팟으로 바꾸면 통신사, IP 주소 체계, 라우팅 경로가 동시에 달라집니다. 따라서 결과만으로 특정 구간에서 패킷 손실이 발생했다고 단정할 수는 없으며, 접속 경로와 관련된 문제라는 점만 확인할 수 있습니다. Android에서 테스트할 때는 백그라운드 업데이트를 일시 중지하고 데이터 사용량도 확인하세요.
- 무선 점검: 공유기 가까이에서 테스트한 뒤 유선 연결 결과와 비교하세요. 유선은 안정적이고 무선만 불안정하다면 신호 세기, 채널 혼잡, 로컬 기기 간 경합부터 점검하세요.
- 시간대 점검: 같은 노드가 저녁에 계속 느려지고 한산한 시간대에 회복된다면 혼잡 가능성이 있습니다. 다만 다른 노드나 다른 네트워크와도 비교해야 합니다.
- 경로 점검: 로컬 게이트웨이에 30회 연속으로 탐지 요청을 보내 LAN 연결이 안정적인지 확인할 수 있습니다. 게이트웨이가 정상이라고 공용 네트워크 경로까지 정상인 것은 아닙니다. 중간 라우터가 탐지 요청에 응답하지 않는다고 해서 실제 서비스 트래픽이 손실된다는 뜻도 아닙니다.
- 주소 체계 점검: 노드 도메인이 실제로 어떤 IPv4 및 IPv6 주소로 해석되는지 확인하세요. 특정 주소 체계에 문제가 있다는 근거가 있을 때만 변수를 하나씩 바꿔 비교하고, 시스템 전체에서 해당 주소 체계를 무작정 비활성화하지 마세요.
VMess와 VLESS는 프록시 프로토콜 이름이지 회선 품질 등급이 아닙니다. 전송 방식을 바꿀 때는 서버 설정과 일치해야 합니다. 포트, TLS, SNI, 전송 경로를 임의로 바꾸면 연결되던 노드의 핸드셰이크가 실패할 수 있으며, 물리 회선의 용량 부족을 해결할 수도 없습니다.
3단계: 로컬 진입점, 라우팅, DNS 확인
SOCKS를 지정한 요청은 정상인데 브라우저만 느리다면 앱이 예상한 진입점을 사용하고 있는지 먼저 확인하세요. v2rayN 하단의 ‘시스템 프록시’에서 ‘시스템 프록시 자동 설정’을 켜면 시스템 프록시 설정을 사용하는 앱에 영향을 줍니다. 라우팅 모드는 커널에 들어온 트래픽의 경로를 결정합니다. 서로 다른 두 설정이므로 시스템 프록시를 켰다고 해서 모든 프로그램이 이를 사용하는 것은 아닙니다.
| 확인 항목 | 조작 방법 | 확인할 결과 |
|---|---|---|
| v2rayN 시스템 프록시 | 하단의 ‘시스템 프록시’ → ‘시스템 프록시 자동 설정’ | 브라우저와 시스템 설정이 현재 클라이언트 진입점을 가리키는지 확인 |
| 로컬 수신 포트 | ‘설정’ → ‘매개변수 설정’에서 포트를 확인한 다음 앱의 프록시 설정과 비교 | 앱이 이전 포트나 다른 프록시 프로세스에 연결되지 않는지 확인 |
| 라우팅 모드 | 현재 모드를 기록하고, 잠시 ‘전역’으로 바꿔 비교한 다음 원래 모드로 복원 | 기존 규칙에 따라 대상 요청이 직접 연결되어 결과가 달라졌는지 확인 |
| v2rayNG 앱 적용 범위 | 사이드 메뉴의 ‘설정’ → ‘앱별 프록시’에서 스위치, 모드, 앱 목록 확인 | 테스트할 앱이 예상한 프록시 적용 범위에 포함되어 있는지 확인 |
v2rayN의 TUN 모드와 시스템 프록시 진입점은 동시에 사용할 수 있지만, 문제 해결 중에는 다른 VPN이나 프록시 프로그램을 함께 켜지 마세요. 현재 설정을 저장한 뒤 한 가지 트래픽 처리 방식만 따로 확인하세요. 원격 근무용 터널이 필요하다면 회사 네트워크 요구 사항을 먼저 확인하고, 테스트를 위해 기존 네트워크 설정을 바로 삭제하지 마세요.
DNS도 단계별로 확인해야 합니다. 노드 주소 조회는 서버 연결 여부를 결정하고, 대상 도메인 조회는 요청이 향하는 곳에 영향을 줍니다. 라우팅의 domainStrategy는 규칙을 적용할 때 조회 결과를 사용하는 방식을 정합니다. 서로 다른 설정입니다. 브라우저에서만 첫 페이지 로딩이 느리다면 브라우저의 ‘보안 DNS’ 설정을 비교하고 기존 값을 기록하세요. 시스템 DNS, 클라이언트 DNS, 브라우저 DNS를 한꺼번에 바꾸지 마세요.
- 로그에서 대상 연결이 예상한 아웃바운드로 전달되는지 먼저 확인한 뒤 라우팅을 바꿀지 판단하세요. 사용자 지정 규칙의
outboundTag는 정의된 아웃바운드 태그와 일치해야 합니다. - 전송 중 컴퓨터 CPU 사용률이 계속 최대치에 가까우면 다른 고부하 프로그램을 일시 중지한 뒤 다시 테스트하세요. 코어 프로세스 사용량도 기록해 기기 성능 문제를 노드 탓으로 돌리지 않도록 합니다.
- Android 기기가 화면을 잠근 뒤 주로 연결이 끊긴다면 시스템 ‘설정’ → ‘앱’ → ‘v2rayNG’에서 배터리 사용과 백그라운드 실행 권한을 확인하세요. 백그라운드 제한은 연결 유지에 영향을 주는 경우가 많으며, 화면이 켜져 있을 때 다운로드 대역폭이 부족한 문제와는 다릅니다.
로그로 느린 응답과 연결 실패 구분하기
클라이언트 로그를 열고 고정된 테스트를 한 번 더 실행한 다음 해당 시간대의 기록을 찾으세요. 짧게 문제를 확인할 때는 로그 수준을 info로 설정하세요. 일반 로그로 원인을 찾기 어려운 경우에만 잠시 debug를 사용하고, 테스트가 끝나면 원래 설정으로 되돌립니다. 상세 로그에는 대상 주소와 연결 정보가 포함될 수 있으므로 공유 전에 구독 주소, UUID, 계정 인증 정보를 가리세요.
context deadline exceeded
원인: 작업 하나가 제한 시간 안에 완료되지 않았다는 뜻입니다. 이 한 줄만으로는 노드, DNS, 대상 사이트 중 어디에 문제가 있는지 알 수 없습니다.
해결 방법: 앞뒤 로그를 함께 확인해 실패한 단계를 찾고, 같은 노드에서 대상을 바꾸거나 같은 대상에서 네트워크를 바꿔 비교하세요.
connection refused
원인: 연결이 명시적으로 거부되었습니다. 로컬 진입점이 수신 대기 중이지 않거나 원격 포트에서 서비스가 실행되지 않을 수 있습니다.
해결 방법: 오류에 표시된 주소를 먼저 확인하세요. 주소가 127.0.0.1:10808이면 실제 로컬 포트와 코어 상태를 점검하고, 노드 주소라면 서버 포트를 확인하세요.
address already in use
원인: 이 오류 문구를 사용하는 시스템에서는 보통 다른 프로세스가 수신 주소나 포트를 이미 사용 중이라는 뜻입니다.
해결 방법: 중복 실행된 클라이언트를 종료하거나 매개변수 설정에서 사용 중이지 않은 포트로 변경하고, 앱의 프록시 설정도 함께 업데이트하세요.
로그에 EOF가 표시되거나 연결이 종료됐다고 해서 서버의 속도 제한이 원인이라고 단정할 수는 없습니다. 정상적으로 종료된 경우, 원격 측에서 먼저 연결을 닫은 경우, 중간 네트워크가 끊긴 경우 모두 가능합니다. 같은 대상과 같은 단계에서 반복적으로 발생하고 실패한 요청 시간과도 일치할 때 해당 로그를 추가로 조사하세요.
자주 묻는 질문과 재테스트 결과
지연 시간이 수십 밀리초뿐인데 다운로드는 왜 느린가요?
지연 시간은 왕복이나 요청에 걸리는 시간이지 대역폭이 아닙니다. 다운로드 권한이 있는 대용량 파일 하나를 정해 노드 두 개를 각각 3회 테스트하세요. 한 노드만 계속 느리다면 해당 노드의 출구, 계정 속도 제한, 혼잡 시간대의 부하를 추가로 확인합니다.
전역 모드로 바꾸면 빨라지는데 계속 사용해도 되나요?
먼저 라우팅을 비교한 결과로 보세요. 기존 모드에서 해당 대상이 직접 연결되는지 확인한 다음 관련 규칙을 수정하고 원래 모드로 복원하세요. 계속 사용하기 전에는 LAN, 업무용 시스템, 로컬 서비스에 필요한 접근이 가능한지도 확인해야 합니다.
구독을 갱신하거나 코어를 바꾸면 속도가 개선되나요?
구독 갱신은 주소나 설정이 변경된 경우에 적합하며 기존 회선의 용량을 높여 주지는 않습니다. 특정 코어 버전과의 호환성 문제가 확인된 경우에만 기존 설정을 보존한 상태로 버전을 비교하세요. 코어를 변경할 때는 노드 프로토콜과 전송 매개변수가 지원되는지 확인해야 합니다.
Android는 정상인데 컴퓨터만 느리다면 무엇을 확인해야 하나요?
두 기기를 같은 무선 네트워크에 연결하고 같은 노드와 대상을 사용하세요. 먼저 컴퓨터에서 SOCKS를 명시한 요청을 보내 시스템 프록시와 브라우저 차이를 배제한 다음, 컴퓨터의 백그라운드 트래픽, 코어 로그, CPU 사용량을 확인합니다.
최종 기록에는 ‘노드를 바꾸니 해결됨’이 아니라 테스트 조건을 재현할 수 있는 정보가 담겨야 합니다. 예를 들어 ‘가정용 인터넷에서 같은 대상을 테스트했을 때 노드 A는 저녁에 3회 모두 시간 초과, 같은 시간에 노드 B는 정상, 모바일 핫스팟에서는 A도 정상’이라고 기록하세요. 이런 기록은 특정 접속 경로와 노드 A의 조합으로 문제를 좁혀 서비스 제공업체가 추가로 조사하는 데 도움이 됩니다.
- 기록: 테스트 시간, 클라이언트 및 코어 버전, 접속 네트워크, 노드 메모, 대상과 소요 시간
- 복원: 임시 전역 모드, 상세 로그, 테스트용 DNS 및 인터페이스 설정
- 재테스트: 평소 설정으로 복원한 뒤 원래 느렸던 앱을 다시 실행해 테스트 명령에서만 개선된 것이 아닌지 확인