Saya perhatikan bahwa di jaringan kantor saya, koneksi SSH multi-hop menggunakan metode "pseudo-tty" berkinerja lebih baik (lihat catatan terakhir) daripada menggunakan metode "penerusan". Mengapa demikian?
Dengan kata lain, mengapa:
ssh -A -X -tt server1 ssh -X -tt server2 # pseudo-tty
menghasilkan kinerja yang jauh lebih baik daripada:
ssh -o ‘ProxyCommand=ssh -A -X -W %h:%p server1’ -X server2 # forwarding
?
Catatan lain:
- Saya menggunakan laptop saya, dan server1 dan server2 memiliki perangkat keras yang sama.
- Di laptop saya, saya punya Windows 7 dengan ssh dan xwin Cygwin. Ini memiliki prosesor yang layak (i7 4610M atau serupa).
- Baik server1 dan server2 adalah RHEL 6.5.
- Saya belum mengukur bitrate, tetapi aplikasi X11 secara signifikan lebih cepat dengan metode pseudo-tty (ada penundaan yang terlihat dengan penerusan).
linux
networking
ssh
cygwin
roti panggang
sumber
sumber
Jawaban:
Saya pikir command-line pertama Anda akan membuat koneksi untuk
server1
dioptimalkan untuk sesi interaktif (dengan respon rendah, tetapi lebih sedikit troughput), tetapi metode forwading akan membuka sesi dengan bit ToS diatur keMaximizeTroughtput
, dengan waktu respon yang lebih tinggi. Sehingga kurang dioptimalkan untuk sesi interaktif.Itu mungkin berasal dari fakta bahwa ssh dan sshd akan secara otomatis mengatur ToS sesuai rfc1349. Defaultnya adalah lowdelay untuk sesi interaktif dan throughput untuk non-interaktif (biasanya sftp, scp, dalam penerusan port case Anda).
Ambil dari
man ssh_config
:ps: Anda dapat mencoba:
ssh -o ‘ProxyCommand="ssh -A -X -W %h:%p -o IPQoS=lowdelay server1"’ -X server2
sumber