Saya ingin mengukur latensi jaringan untuk permintaan SNMP GET. Ada alat baris perintah gratis time
yang dapat digunakan untuk menemukan statistik waktu untuk berbagai perintah. Misalnya dapat digunakan dengan snmpget
cara berikut:
$ time snmpget -v 2c -c public 192.168.1.3 .1.3.6.1.2.1.2.2.1.10.2
IF-MIB::ifInOctets.2 = Counter32: 112857973
real 0m0.162s
user 0m0.069s
sys 0m0.005s
Menurut manual, statistik terdiri dari:
waktu nyata berlalu antara doa dan penghentian,
waktu CPU pengguna (jumlah nilai
tms_utime dan tms_cutime dalam struct tms yang dikembalikan oleh
times (2)),waktu sistem CPU (jumlah nilai
tms_stime dan tms_cstime dalam struct tms yang dikembalikan oleh
times (2)).
Seperti yang Anda lihat, tidak ada opsi ini yang memungkinkan untuk mengukur waktu latensi jaringan nyata (dengan mengecualikan statistik waktu eksekusi program lainnya). Apakah ada cara untuk melakukannya? Mungkin tidak menggunakan alat waktu, melainkan beberapa peretasan kernel?
Saya ingin bertanya, sebelum saya mulai menulis program saya sendiri.
Terima kasih, Piotr
sumber
-ttttt
juga bisa bermanfaat - alih-alih menunjukkan mikrodetik sejak paket terakhir, ini menunjukkan mikrodetik sejak awal jejak.Coba ping:
Dari manual ping:
sumber
Jalankan program Anda dan sementara itu tangkap lalu lintas jaringan dengan
tcpdump
atauwireshark
. Periksa waktu permintaan dan balasannya dan lakukan pengurangan sederhana.sumber