논리적으로 VPN은 터널링을 위해 SSH보다 빠릅니다.
- TCP가 아닌 UDP에서 실행 중이므로 TCP를 통한 TCP는 없습니다.
- 그것은 압축이
그러나 오늘 저는 두 방법 모두에서 Redis 복제를 테스트했습니다.
아일랜드 동부 AWS VM에서 테스트를 실행하여 미국 동부 AWS VM에 연결했습니다.
나는 빈 레디 스 서버를 실행하고, 완료로드 후, 나는 실행 - 내 테스트 케이스 레디 스 복제이기 때문에, 이것은 내가 테스트를 정확히 무엇을 slaveof
다른 서버를 사이에 시간을 측정 Connecting to MASTER
하고 MASTER <-> SLAVE sync: Finished with success
. 그 사이에 나는
while 1; do redis-cli -p 7777 info | grep master_sync_left_bytes;sleep 1; done
속도를 대략적으로 추정합니다.
SSH는 OpenVPN의 ~ 2MB / s에 비해 ~ 11MB / s의 롱 샷으로 승리했습니다.
다시 설정 한 항목이 모두 잘못되었거나 설정이 잘못 잘못되었음을 의미합니까?
최신 정보
동일한 데이터 세트로 여러 테스트를 수행 한 결과는 다음과 같습니다.
- OpenVPN
- TCP :
압축 : 15m
압축 없음 : 21m - UDP :
압축 : 5m
압축 없음 : 6m
- TCP :
- SSH
기본값 : 1m50s
압축 없음 : 1m30s
압축 : 2m30s
업데이트 2
다음은 양방향 테스트를 사용한 iperf 결과입니다 (리턴 경로가없는 SSH 제외).
| method | result (Mb/s)|
|------------------+--------------|
| ssh | 91.1 / N.A |
| vpn blowfish udp | 43 / 11 |
| vpn blowfish tcp | 13 / 12 |
| vpn AES udp | 36 / 4 |
| vpn AES tcp | 12 / 5 |
기술 사양
CentOS 6.3 (서버), CentOS 6.5 (클라이언트)를 실행하고 있습니다.
OpenVPN 버전은 2.3.2입니다 (Ubuntu 14.10과 동일하므로 곰팡이 버전이 없습니다)
내 SSH 터널링은 다음과 같습니다.
ssh -f XXXX@XXXX -i XXXX -L 12345:127.0.0.1:12345 -N
: 내 구성 파일과 같은
서버
port 1194
proto udp
dev tun0
topology subnet
log /var/log/openvpn.log
ca XXXX
cert XXXX
key XXXX
dh XXXX
crl-verify XXXX
cipher AES-256-CBC
server XXXX 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
keepalive 10 120
comp-lzo
status /var/log/openvpn-status.log
verb 3
tun-mtu 1500
fragment 1300
persist-key
persist-tun
고객
client
remote XXXX 1194
proto udp
dev tun
log /var/log/openvpn.log
comp-lzo
cipher AES-256-CBC
ns-cert-type server
# the full paths to your server keys and certs
ca XXXX
cert XXXX
key XXXX
tun-mtu 1500 # Device MTU
fragment 1300 # Internal fragmentation
persist-key
persist-tun
nobind