Satu gangguan audio dan satu jeda VPN terjadi dalam sepuluh detik yang sama, dan sebuah utilitas melaporkan angka tinggi berlabel latensi DPC. Dorongan hatinya adalah menyimpulkan bahwa driver memperlambat terowongan, atau terowongan membebani driver. Tidak satu pun dari kedua kesimpulan itu mengikuti angka tersebut.

Ada tiga pengukuran yang berperan di sini, dan ketiganya tidak berbagi batas yang sama.

Tiga angka, tiga batas

Panggilan prosedur tertunda adalah pekerjaan yang ditunda driver dari penangan interupsinya, dan waktu yang dihabiskan di dalam rutin tersebut adalah pengukuran lokal prosesor yang diatribusikan ke modul dan fungsi. Perjalanan pulang-pergi gema adalah pengamatan waktu di soket, yang dihasilkan tumpukan jaringan dan penjawab jarak jauh. Peristiwa pemutusan adalah transisi keadaan yang dicatat klien. Masing-masing menjawab pertanyaan yang tidak bisa dijawab yang lain, dan satuan yang sama tidak membuatnya bisa saling ditukar.

Disiplin yang berguna adalah menyebut batas sebelum membaca nilai. Tuliskan satuan dan batas berdampingan. Jika sebuah alat melaporkan milidetik, tanyakan milidetik dari apa: waktu di dalam rutin, waktu menunggu untuk berjalan, atau waktu sampai balasan tiba.

Angka tinggi dalam satu kategori adalah petunjuk, bukan diagnosis.

Baca definisi di balik judul

Utilitas berbeda dalam hal apa yang mereka sebut latensi. Sebagian melaporkan durasi rutin driver, sebagian lain melaporkan tundaan penjadwalan, dan kedua besaran itu dapat bergerak ke arah berlawanan pada mesin yang sama. Dasbor yang menyebut salah satunya sekadar latensi DPC telah memberi tahu Anda lebih sedikit daripada yang terlihat. Karena itu dua dasbor bisa berbeda pendapat tentang mesin yang sama sekali tidak berubah.

Kehati-hatian yang sama berlaku di dalam satu alat analisis. Durasi inklusif mengikuti rutin dari masuk sampai keluar, sedangkan durasi eksklusif hanya menjumlahkan potongan tempat rutin itu sendiri berjalan. Memilih kolom yang salah mengubah pemanggil menjadi tersangka.

Kerja driver lokal dan tundaan jaringan juga saling berinteraksi tanpa menyatu. Aktivitas berlebihan terkait interupsi dapat menunda pekerjaan yang peka waktu di mesin, dan jalur yang padat dapat menunda paket, dan keduanya dapat benar selama satu jeda yang terlihat.

Letakkan setiap pengamatan dalam satu jendela

Jejak hanya berguna jika Anda membaca interval yang memuat gejalanya. Rekam jejak, peristiwa klien, dan kegagalan aplikasi dengan stempel waktu, lalu lihat detik yang sama pada ketiganya. Nilai maksimum dari jejak selama satu jam dan pemutusan yang terjadi belakangan sore itu adalah dua fakta yang tidak berhubungan.

wpr -start CPU -filemode
wpr -stop vpn-trace.etl
xperf -i vpn-trace.etl -a dpcisr -o dpc.txt

Lalu buka jejak di alat analisis dan urutkan menurut durasi di dalam jendela itu, bukan menurut seluruh rekaman. panduan analisis CPU menjelaskan tampilan durasi DPC/ISR yang mengatribusikan waktu ke modul dan fungsi.

Pastikan apa yang sebenarnya terjadi pada terowongan selagi Anda di sana. Kehilangan lalu lintas aplikasi sebentar tidak berarti klien memulai negosiasi baru, dan keberhasilan uji kecil tidak membuktikan bahwa semua hal lain tetap berjalan.

Ganti komponen yang ditunjuk bukti

Modul yang sibuk adalah tempat untuk menyelidiki, bukan putusan. Ia mungkin mengerjakan pekerjaan yang disebabkan komponen lain, atau oleh beban kerja yang Anda hasilkan. Simpan bersama nama modul, perangkat, versi driver, dan interval yang diamati, karena himpunan itulah yang dapat ditindaklanjuti vendor.

Satu perubahan per percobaan adalah satu-satunya cara belajar dari hasilnya. Perbandingan dengan kabel mempersempit cakupan, tetapi mengubah jalur radio dan aktivitas driver sekaligus, jadi perlakukan itu sebagai petunjuk, bukan bukti.

Perlakukan jejak sebagai data sensitif. Jejak dapat memuat nama proses dan detail lingkungan, jadi tempatnya adalah saluran perekaman yang didukung, bukan lampiran publik. Sebutkan pengamatan mana yang seharusnya dijawab jejak itu.

Artikel terkait