तार्किक रूप से, वीपीएन को सुरंग बनाने के लिए SSH से तेज होना चाहिए, क्योंकि:
- यह यूडीपी पर चल रहा है और टीसीपी पर नहीं (इसलिए टीसीपी पर टीसीपी नहीं)
- इसमें कंप्रेशन है
हालांकि, आज मैंने दोनों तरीकों से रेडिस प्रतिकृति का परीक्षण किया।
मैंने आयरलैंड AWS VM पर परीक्षण चलाया, जो US-East AWS VM से जुड़ा।
मैं एक खाली Redis सर्वर भाग गया, और उसके बाद यह समाप्त लोड हो रहा है, मैं मार डाला - चूंकि मेरे परीक्षण का मामला Redis प्रतिकृति है, यह मैं वास्तव में क्या परीक्षण किया है 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 ने एक लंबे शॉट से जीता: ~ 11MB / s OpenVPN के ~ 2MB / s की तुलना में।
क्या इसका मतलब यह है कि मैंने जो कुछ भी दोहराया था वह गलत था, या क्या मैंने अपने सेटअप को गलत तरीके से गलत बनाया है?
अद्यतन करें
मैंने एक ही डाटासेट के साथ कई परीक्षण किए हैं, और ये परिणाम मिले हैं:
- OpenVPN
- टीसीपी:
संपीड़न: 15 मीटर
कोई संपीड़न: 21 मीटर - यूडीपी:
संपीड़न: 5 मीटर
कोई संपीड़न: 6 मी
- टीसीपी:
- SSH
चूक: 1m50s
कोई संपीड़न नहीं: 1m30s
संपीड़न: 2m30s
Update2
यहां द्विदिश परीक्षण (SSH को छोड़कर, जहां कोई वापसी का रास्ता उपलब्ध नहीं है) के साथ iperf परिणाम हैं
| 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 है (उबंटू में 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