Soru Kapasite planlaması için hassas bir şekilde I / O performansı trendleri


Çalıştığım yerde, bir Xen Hipervizörü kullanarak birçok sanal makineye ev sahipliği yapmak için kullanılan çok sayıda "büyük demir" sunucumuz var. Bunlar genellikle 32 GB RAM, Çift Dört çekirdekli işlem ve G / Ç kapasitesinin gobs ile hızlı diskler ile yapılandırılmıştır.

Mevcut donanım konfigürasyonunun dişte biraz uzun sürdüğü noktadayız ve dışarı çıkıp daha büyük, daha hızlı ve daha parlak yeni donanımlar üretme zamanı.

Yukarıda belirtildiği gibi, mevcut kit 32 GB RAM ile konuşlandırılmıştır ve bir ana bilgisayara dağıtabileceğimiz VM'lerin sayısını etkili bir şekilde sınırlamıştır.

Daha yeni donanımları araştırırken, tek bir şasi içinde 64, 72 ve hatta 96GB'lık tek bir makinede daha fazla RAM alabildiğiniz açıktır. Açıkçası, bu bize her zaman bir kazanca sahip olan bir sunucuya daha fazla makine almamızı sağlayacak. Şimdiye kadar tamamlanan analiz, sınırlayıcı faktörün artık disk alt sistemine kaydırılacağını göstermektedir.

Sorun şu ki, nerede olduğumuza dair bir fikre sahip olmaya çalışıyoruz ... Kullanım sayesinde, I / O bant genişliği açısından sınırlı olmadığımızı biliyoruz, daha çok, rastgele ben / O işlemleri tamamlanabilir. Bildiğimiz kadarıyla bu noktaya geldiğimizde iowait'in gökyüzü roketine gideceğini ve tüm makine performansının köpeklere gideceğini biliyoruz.

Şimdi bu, sorduğum sorunun özüdür, mevcut I / O performansının özellikle tamamlanan rastgele G / Ç işlemlerinin sayısıyla ilgili olarak doğru bir şekilde izlenmesinin / ilerlemesinin bir yolu olduğunun farkında olan var mıdır?

Gerçekten bir metrik elde etmeye çalıştığım şey şu: "Bu yapılandırma, rastgele G / Ç isteklerinin X sayısını başarılı bir şekilde ele alabilir ve şu anda (ortalama olarak) Z ops zirvesinde Y ops yapmaktayız".

Şimdiden teşekkürler!


10
2017-11-28 03:19


Menşei




Cevaplar:


sar işi burada güzel yapar; iO iş yükünüzü nispeten iyi bir doğrulukla (okuma / yazma oranları ve işlem büyüklüğü açısından) tekrarlamak için kullanılabilecek işlem sayıları ve saniyede okutulan / yazılan sektörlerin sayısını toplar. IO'nuzun nasıl "rasgele" olduğunu belirleme faktörü. Mükemmel değil, ama benim tecrübemde baktığın tahmin türünü yapmak için yeterince iyi bir iş yapıyor.


4
2017-11-28 08:07





Yani, bu bir izleme ve kapasite raporlama sorununa benziyor. Trend istatistiklerini ölçmeye başlayacaksanız, tahtayı karşılaştırabilirim, böylece karşılaştırılabilir, ilişkilendirebilirsiniz vb.

Araçlar açısından, açık kaynak dünyasında ganglion, zenoss, nagios, vb. Ve diğer birçok satıcı ürünü vardır.

İlgilendiğiniz KPI'ları izlemek, ölçmek ve saklamak için bunları yapılandırabilir ve ardından periyodik olarak raporlayabilirsiniz.

RAM kullanımıyla ilgili sorularınız göz önüne alındığında, bellek istatistikleri, takas kullanımı ve CPU'yu da dahil etmek mantıklı olacaktır. Böylece, aynı süre boyunca bunları tahtadan karşılaştırabilir ve hangisinin sınırlı olduğunu görebilirsiniz.

Verileri yakaladıktan sonra, tüm bunları raporlamak için büyük bir DB'de saklayabilir, örneğin geçmişe ait tarihi verileri de rahatsız edebilirsin. 6 ay boyunca her 5 saniyede bir, daha sonra geri gittikçe dakikaya, sonra 5'e, sonra saatte bir depolayın. Bu tür bir şey, cron, autosys vb.

Bu raporlar size hangi yönetimin istediğini verir - yani. güzel grafiklerle bir şey.

Ve günlük yönetim için herhangi bir anda nasıl performans gösterdiğini görmek için konsoldaki grafik / rakamlar hakkında gerçek zamanlı bilgilere bakabilirsiniz.


2
2017-11-28 03:32



Cevabınız için teşekkürler. Bulduğum en büyük sorun aslında ops sayısını doğru olarak izlemek. Yani, ben taşınan veri miktarı, ya da iowait vs vs raporları ile karşılaştığım her şey Bu oldukça burada faturaya uygun görünmüyor .. - Keiran Holloway


Kullanırız collectl Tüm gerekli bilgileri tek bir dosyaya çekebiliyor ve ihtiyaç duyulan istatistikleri tekrarlayabiliyoruz. Bu, kayıt aralığı, içerik anahtarları, bellek istatistikleri başına IOPS sayısını görmenizi sağlayacaktır. Bunu disk başına dağıtabilirsiniz veya sisteme genel bir bakış sağlayabilirsiniz. Collectl ayrıca parlaklığı destekler.

Bu, toplam sistem performansına genel bir bakış elde etmek için harika bir araçtır. İyi şanslar, gözlemlerden, SATA diskleri rastgele erişim yaparken tipik olarak 200-300 IOPS arasında en üst seviyeye çıkıyor.


2
2017-11-28 04:42



15K RPM SAS sürücüleri ile çok fazla deneyimi olan var mı? - Keiran Holloway


Disk G / Ç'lerini diğer tüm ölçümleri yaptığımız şekilde kaydeder ve çizeriz:

  • Veriler, SNMP kullanılarak ana bilgisayarlardan çekilir. NAS / SAN kutularımız bunu doğal olarak yapıyor. Kullanırız Net-snmp bu bilgileri sağlayan tüm Linux ana bilgisayarlarında USB DISKIO-MIB.

  • Veri (RRD formatında) saklanır ve kullanılarak grafiklenir kaktüs. Bazı Disk IO şablonları Bize normal, ortalama ve en yüksek formatta görüntülenen bir işlem sayısı ve boyutu verin.

Bu metrikler zorunlu olarak kullanımda sonlu değildir. iostat/dstat/sar bir ana bilgisayarda. Ancak, yeni bir makine devreye alındığında, merkezi olarak depolandığında ve ileride başvurmak üzere hazır olduğunda otomatik olarak ayarlanan yangın ve unuttur.

Bu verileri, operasyonel bazda olağandışı eğilimlerden haberdar etmek için kullanıyoruz ve kapasite planlaması yaparken her zaman ona geri dönüyoruz.

Gerçekten bir metrik almayı denediğim şey "bu yapılandırma, rastgele I / O isteklerinin [..] X sayısını başarıyla ele alabilir".

Bununla ilgili birkaç sorun var:

  • Sıralı I / O'dan rastgele I / O ayırmak ve nicelemek oldukça zordur. İkisi arasındaki temel fark, disk tablasında depolanan blokların fiziksel yeridir. Çok sayıda küçük işlem temelinde, işlemlerin büyüklüğünden eğitimli bir tahminde bulunabilirsiniz. muhtemelen disk hakkında noktalı küçük dosyalar ile ilgilidir. Ama garanti yok. O belki Tek bir dosyadan veya diskteki bitişik bloklardan sıralı olarak küçük miktarlarda veri okumak.

  • Metrikleri kaydetmek size, taahhütlerinizin ne olduğu, zaman içinde nasıl değiştikleri ve gelecekte nasıl değişecekleri konusunda çok iyi bir tablo verecektir. Size söyleyemeyeceği şey tavanın ne olduğu. En azından geç olmadan çok geç değil. Bunu belirlemek için bazı matematik (donanım özelliklerinden), kıyaslama yapmanız gerekir. bonnie++ kendim) ve bu kubbelerin ne için kullandıkları / kullandıkları hakkında bazı lojistik fikirlere sahip olmak yararlıdır.


2
2017-11-28 09:47





Depolama arka ucuna (IBM SVC / DS8000) bağlı olarak, rastgele IOPS ile ilgili istatistikleri doğrudan buradan çekebilirsiniz.

Sunucudan istatistikler çekmek için kullanabilirsiniz nmon. Bedava (birada olduğu gibi). Orijinal olarak AIX için IBM tarafından geliştirilen, ayrıca Linux üzerinde çalışır.


1
2017-11-28 03:36



Tüm depolama alanı doğrudan bağlanır, debian ana bilgisayarlarda çalışır. FOSS bir şey iyidir. - Keiran Holloway


Eğer insanlar SAR kullanırlarsa en azından verilerinizi birkaç saniyede örneklemeyi umuyoruz. Topladığımda bir / iki kez örnek alıyorum. Rastgele I / O'da ne kadar iyi çalıştığınızı ölçmek için, Robin Miller'ın dt'si (google it) gibi bir araç kullanın ve kolayca rastgele bir G / Ç üretebilir ve daha sonra kaç kişiyi görmek için toplamı ölçebilirsiniz Saniyede yapabilirim. Tipik bir disk, genellikle dönme gecikmesi temelinde, maksimum 200-300 I / O'/ sn yapar. Blok boyutunun, diskin her zaman başka bir yere doğru kayması için diskin 1/2 devir beklemesiyle minimum etkisi vardı.

btw - iowait en yanlış anlaşılan ölçümlerden biridir. Cpu yükü ile ilgili bir şey yapmadı, sadece cpu I / O oluşurken başka bir şey yapmadığı anlamına gelir. Aslında% 100 iowait iseniz, aslında yaklaşık% 100 boşta demektir!

-işaret


1
2017-09-08 20:11