Pada Windows, setiap kali saya ingin memvalidasi / mengkonfirmasi bahwa mungkin ada masalah terkait IO pada volume yang dihidupkan oleh database atau aplikasi dengan latensi rendah lainnya, saya memeriksa latensi disk.
Jika saya melihat Windows Average Disk sec / Transfer counter> 18-20ms secara konsisten, maka kenari saya di tambang batubara baru saja mati dan saya perlu menyelidiki lebih lanjut. Drop-mati sederhana.
Saya sedang melihat Linux sekarang, dan tidak melihat metrik berbasis latensi serupa. Penelitian cepat yang telah saya lakukan menunjukkan bahwa saya bahkan mungkin tidak INGIN ... Saya melihat banyak referensi untuk I / O Tunggu menjadi cara kebanyakan orang melacak ini.
Apakah ada aturan praktis yang Anda gunakan sehubungan dengan ini? Misalnya APA PUN saya / saya tunggu saya melihat buruk untuk volume database? Apakah ada perintah iostat sederhana yang memberi saya tampilan yang lebih baik pada kesehatan disk secara keseluruhan daripada hanya TOP eyeballing?
Terimakasih banyak!
ioping
sar
output di sini . Perhatikan%iowait
kolomnya.Jawaban:
Secara pribadi saya menggunakan perintah
iostat -xk 10
dan melihatawait
kolom.Ini adalah metrik yang hampir identik dengan windows Average Disk sec / Transfer dan terdaftar dalam ms, bukan detik. Jadi aturan praktis yang sama dapat diterapkan, meskipun ini akan tergantung pada semua hal. Saya biasanya menemukan bahwa pengguna mulai menggerutu pada 15 ms dan 20 ms sangat buruk.
Tekan ctrl + c untuk keluar, atau tentukan jumlah iterasi yang akan dilihat dengan parameter hitungan. Perhatikan bahwa hasil iterasi pertama sangat miring karena sampel waktu kecil yang digunakan dalam iterasi pertama.
Dari
man iostat
halamanmenunggu Waktu rata-rata (dalam milidetik) untuk permintaan I / O yang dikeluarkan untuk perangkat yang akan dilayani. Ini termasuk waktu yang dihabiskan oleh permintaan dalam antrian dan waktu yang dihabiskan untuk melayani mereka.
Sunting:
await
adalah metrik utama yang saya gunakan untuk menonton disk di bawah beban produksi untuk melihat apakah throughput dan iops-nya dapat memenuhi permintaan.Stat% iowait lebih tentang keseimbangan antara cpu dan penggunaan disk. % iostat akan tetap lebih rendah dari yang diharapkan jika aktivitas cpu dan disk tinggi. Di sisi lain, mulai dari tingkat penggunaan disk yang cukup rendah,% iostat bisa relatif tinggi jika cpu idle. Makhluk ini menunggu harus diambil dengan sebutir garam juga. Jika ada banyak baca / tulis berurutan yang terjadi, angka tersebut akan condong ke nilai yang lebih rendah, dan aturan praktis 18 ~ 20ms Anda tidak akan berguna dalam kondisi ini karena sebagian besar potongan yang ditulis akan menjadi data berurutan dan akan dilayani oleh disk dengan sangat cepat, sedangkan io acak lainnya akan menunggu, karena sistem Native-Command-Queuing (NCQ) yang ada di dalam disk untuk mengoptimalkan throughput dengan membiarkan disk memilih urutan permintaan yang dilayani.
sumber