Bu sayfa makine çevirisidir. İngilizce orijinalini okuyun. English

IBSurgeon kütüphanesi

Disk hızının yedekleme ile hızlı tahmini

Dmitry Kuzmenko, 30.05.2019, ib-aid.com

Teknik destek ekibimiz periyodik olarak (forumlarda da sorulan) şu soruyu alır - “görünüşe göre disklerimiz yavaş, bunu nasıl doğrulayabiliriz”?

Bu soru çoğunlukla, DBA’nın disk alt sistemi ayarlarına erişimi olmadığı veya özelliklerini bile bilmediği sanal makinelerin kullanıcıları tarafından sorulur.

Elbette, disk hızı basit CrystalDiskMark’tan daha karmaşık IOMeter’a kadar farklı araçlarla ölçülebilir. Ancak, en saf sonuçlar uygulamalar diskle çalışmadığında elde edilebilir. Aksi takdirde, sonuçlar değişebilir ve yüksek yük altında test yapmak sistem performansını düşürebilir.

Ayrıca, sistem yöneticileri kısa bir süre için bile olsa üçüncü taraf yazılım kurulumunu yasaklayabilir.

Ancak, tüm bu sistemlerde genellikle yedekleme yapılır (Firebird’ü yedeklemek için VM düzeyinde yedekleme yazılımı kullananlar hariç, bu yanlıştır - buradaki #11’e bakın: “Veritabanlarını Yedeklerken Yapılan 12 Yaygın Hata”).

Yedekleme (gbak -b -g), veritabanındaki tüm verilerin okunması ve bu verilerin (sıralı olarak) yedekleme dosyasına yazılmasıdır. Okuma/yazma işlemleri açısından, rastgele okuma ve sıralı yazmanın bir kombinasyonudur.

Yedekleme dosyası genellikle veritabanı boyutunun %60-%70’i kadardır. Ve veritabanının sürümleme ve sayfa yapısı nedeniyle, yazmalardan daha fazla okuma vardır.

Yedekleme dosyası genellikle başka bir fiziksel sürücüye yerleştirildiğinden, genel yedekleme hızı veritabanının rastgele okuma hızına ve yedekleme sürücüsünün sıralı yazma hızına bağlı olacaktır. Elbette, veritabanını HDD’ye koyup SSD’ye yedekleyebilirsiniz, ancak bu çok verimsiz olacaktır, bu nedenle yedekleme sürücüsü hızının veritabanı sürücüsü hızına neredeyse eşit olduğunu, çok daha yüksek veya düşük olmadığını varsayıyoruz.

Hız değerlendirmesini basitleştirmek için yalnızca yedekleme dosyası boyutunu aldık ve yedekleme süresine böldük. Sonuç “saniyede megabayt” cinsinden olacaktır. Ancak, elde edilen değeri diğer sistemlerle karşılaştırmak için bir tür referans ölçümü gerekir.

Referans olarak ortalama bir masaüstü bilgisayarı aldık; veritabanı 2 SATA3 HDD’den oluşan RAID1 üzerinde ve yedekleme ayrı bir SATA3 HDD’de (bu RAID1’in sıralı okuma hızı yaklaşık 180 MB/sn ve yedekleme HDD’si için ~150 MB/sn).

Burada 31 GB’lık veritabanının yedeği 21 GB boyutundadır ve tek kullanıcılı modda (o bilgisayarda kimse çalışmıyor) yedekleme 18 dakika sürer, yedekleme hızı saniyede 19 megabayttır.

Bu güçlü bir sunucu değil, sadece bir masaüstü (2 veya 3 yıl önce toplanmış) olduğundan, bu yedekleme hızını referans olarak kullanabilir, normal ve belki de üretim sistemleri için izin verilen minimum olarak kabul edebiliriz.

Ardından, yedekleme dosyası boyutu 5 gigabayttan az olmayan, desteğimiz altındaki 30 farklı sunucuda yedekleme hızını analiz ettik.

Performans Hız, MB/sn Yorumlar ve Örnekler

| Hızlı | 50-70 | 38 ila 150 gigabayt arasında yedekleri olan bazı sistemler vardı. 124 GB veritabanının 42 dakikada yedeklenmesi - hızlıdır. | | Ortalama | 20-50 | Burada ortalama hız 30-40 dakikada yaklaşık 80 gigabayttır. Bu normaldir ve masaüstümüz buraya uyabilecek bir sonuç gösterir. | | Yavaş | 10-20 | 463 gigabayt 11 saatte, 80 gigabayt 2 saatte, 293 gigabayt 5 saatte - bu yavaştır, test masaüstümüz bile daha hızlıdır. | | Aşırı yavaş | 10’un altında | Bu, 1 saatte 8,5 gigabayt gibidir. Çok yavaş. |

İncelenen bazı sistemlerde yedeklemenin sunucuda sıfır yük altında yapılmadığı açıktır. Ancak her durumda, sunucudaki minimum yük sırasında yapılır.

Düşük yükün yedekleme hızını ne kadar etkileyebileceğini bilmek için aynı masaüstünde 2 eşzamanlı yedekleme çalıştırdık. Her ikisi de 19 dakika sürdü ve hız saniyede 18 megabayttı. Bu, tek kullanıcılı yedeklemenin %93’üdür; tek HDD’ler için çok fazla değil (%7 düşüş). SSD’niz varsa, aynı anda 3-4 yedekleme çalıştırsanız bile farkı fark etmeyebilirsiniz.

Genel olarak, saniyede 20 megabayt ve altındaki yedekleme hızı endişe nedeni olabilir.

Bu durumda, ya yedekleme diski çok yavaştır, oysa yedekleme mümkün olduğunca hızlı yapılmalıdır. Ya da veritabanı diski çok yavaştır ve genel sistem performansı olması gerekenden daha kötüdür.

Yedekleme hızı nasıl artırılır

Birçok kişi gbak’ı tam hızda kullanmaz ve bazen tek bir anahtar olan -se service_mgr ile Firebird motoru içindeki servis yöneticisini kullanarak yedekleme hızını artırmak mümkündür.

Hızlı yedekleme için önerilen komut satırı, hem Firebird 2.5 hem de Firebird 3.0 için aşağıdaki gibidir:

gbak -se localhost:service_mgr -b -g -user USERNAME -pass password Disk:\Path\Database.fdb Disk:\Path\backup.fbk

Genel performansa adanmış daha fazla ipucu ve püf noktası: