(Bir Windows soruyor) Linux'ta Disk Gecikmesini Ölçme: Rahatsız mıyım?


11

Windows'ta, bir veritabanında veya diğer düşük gecikmeli bir uygulamanın yaşadığı bir birimde GÇ ile ilgili sorunların olabileceğini doğrulamak / onaylamak istediğimde, disk gecikmesini kontrol ediyorum.

Windows Ortalama Disk sn / Transfer sayacını> 18-20ms sürekli olarak görürsem, bir kömür madenindeki kanaryam öldü ve daha fazla araştırmam gerekiyor. Drop-dead basit.

Şimdi Linux'a bakıyorum ve benzer bir gecikme tabanlı metrik görmüyorum. Yaptığım hızlı araştırma, istemediğimi bile gösteriyor ... G / Ç ile ilgili birçok referans görüyorum.

Bu konuda kullandığınız bir basketbol sahası kuralı var mı? Örneğin herhangi bir I / O beklemek bir veritabanı birimi için kötü görüyorum? Genel disk sağlığına sadece göz küresi TOP'dan daha iyi bir görünüm veren basit bir iostat komutu var mı?

Çok teşekkürler!


4
Yukarı bakabilirsinizioping
ewwhite

Teşekkürler, @whwhite. Sanırım sadece odağımı tamamen değiştirmem gerekip gerekmediğini merak ediyorum.
Russell Christopher

2
Sistemlerinizde sysstat koleksiyonunu etkinleştirin. Ardından, IO ile ilişkili yavaşlığı teşhis etmek için çok yararlı olan iowait CPU yüzdesini inceleyebilirsiniz.
EEAA

2
@RussellChristopher Örnek sarçıktıyı burada görebilirsiniz . Kolona dikkat edin %iowait.
EEAA

@Matt ÇOK benzer olsa da, odak biraz farklıdır. KG, simülasyon ortamındaki testleri gerçekleştirmeye daha fazla odaklanmıştır; bu Q, üretim ortamındaki mevcut performansın izlenmesi hakkında daha fazla gibi görünmektedir.
BeowulfNode42

Yanıtlar:


12

Şahsen komutu kullanıyorum iostat -xk 10ve awaitsütuna bakıyorum .

  • -x Genişletilmiş istatistikleri görüntüler.
  • -k İstatistikleri saniyede kilobayt cinsinden görüntüler. Veya megabayt / sn için m kullanın.
  • Saniyede 10 görüntüleme aralığı

Bu, Windows Ortalama Disk sn / Aktarımı ile neredeyse aynı bir metriktir ve saniye yerine ms olarak listelenir. Bu nedenle benzer kurallar uygulanabilir, ancak bu her türlü şeye bağlı olacaktır. Genellikle kullanıcıların 15ms ve 20ms'de homurdanmaya başladığını çok kötü buluyorum.

Çıkmak için ctrl + c tuşlarına basın veya count parametresiyle görüntülenecek yineleme sayısını belirtin. İlk iterasyon sonucunun, ilk iterasyonda kullanılan küçük zaman örneği nedeniyle büyük oranda çarpık olduğunu unutmayın.

Gönderen man iostatsayfa

await Servis edilecek cihaza verilen I / O istekleri için ortalama süre (milisaniye cinsinden). Bu, kuyruktaki isteklerin harcadığı zamanı ve onlara hizmet vermek için harcanan zamanı içerir.

Düzenleme: await Üretim yükü altındaki bir diski, iş hacminin ve iop'lerinin talebe ayak uydurabildiğini görmek için kullandığım ana metrik.

% İowait stat, daha çok cpu ve disk kullanımı arasındaki denge ile ilgilidir. Hem işlemci hem de disk etkinliği yüksekse % iostat beklenenden düşük kalacaktır . Diğer taraftan, oldukça düşük disk kullanım seviyelerinden başlayarak, cpu boşta ise% iostat nispeten yüksek olabilir. Bunun bir tuz tuzu ile alınması gerektiği söyleniyor. Çok sayıda sıralı okuma / yazma gerçekleşirse, rakam daha düşük bir değere eğilir ve 18 ~ 20ms'lik başparmak kuralınız bu koşullar altında yararlı olmaz, çünkü yazılan yığınların çoğu sıralı veriler olacaktır ve hizmet verilecektir diskin çok hızlı bir şekilde, diğer rasgele io beklerken, diskin isteklerin servis edildiği sırayı seçmesine izin vererek verimliliği artırmak için diske yerleşik olan Native-Command-Queuing (NCQ) sistemi nedeniyle.


Teşekkürler @ beowulfNode42. Bu, "bozuk disk" e göz atma açısından kullandığınız birincil metrik mi? Yeni Relic, i / o bekleme ve disk kullanım (okuma ve yazma) yüzdesine odaklanıyor gibi görünüyor ... Bu bana yanlış metrik peşinde miyim, ya da ONY sadece daha az yararlı bilgi rapor olup olmadığını merak ediyor ....
Russell Christopher

@RussellChristopher diğer istatistikler, beklenen bilgileri yorumlamak için gerekli bağlamı sağlar. örneğin, çok sayıda iops (r / ve w / s), çok MB / s, avg istek boyutu (avgrq-sz) büyük veya küçüktür ve avg kuyruk boyutu (avgqu-sz) nedir. Evet, cpu ile ilgili metriklerle birlikte% iowait,% kullanıcı,% sistem vb.
BeowulfNode42
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.