Sedang mencoba melakukan ini sendiri dan datang dengan ini. Mungkin ada cara yang lebih sederhana, tetapi inilah yang saya temukan.
Pertama, siapkan pipa yang akan digunakan untuk membuat program pembandingan berkomunikasi melalui koneksi SSH.
$ mkfifo /tmp/up /tmp/down
Kemudian buat koneksi dalam mode ControlMaster tanpa menjalankan perintah jarak jauh. Ini memungkinkan kami untuk mengotentikasi dengan host secara interaktif. Setelah koneksi dibuat, SSH hanya akan "menggantung" di sini di latar depan.
$ ssh $HOST -N -M -S /tmp/control
Di terminal paralel, jalankan remote cat
di latar belakang. Ini akan menjadi server gema kami yang latensi akan kami ukur. Input dan output terhubung ke FIFO:
$ ssh $HOST -S /tmp/control cat </tmp/up >/tmp/down &
Dan kemudian melakukan benchmark program kecil (mengirim byte ke up
FIFO, menerima byte dari down
FIFO):
$ python -m timeit -s 'import os' \
'os.write(3, "z"); z=os.read(4, 1); assert z=="z", "got %s" % z' \
3>/tmp/up 4</tmp/down
10 loops, best of 3: 24.6 msec per loop
Ukurannya jelas menunjukkan latensi bolak-balik. Jika Anda perlu mengulang percobaan, jalankan dua perintah terakhir ( ssh
dan python
) lagi.
Jika ada yang tidak beres, gunakan -v
tanda SSH untuk mendapatkan lebih banyak hasil debug.