Dönen plakalar RAM'den daha yavaştır. Bu gerçeği 'gizlemek' için okuma / yazma önbelleğini kullanıyoruz.
IO yazma ile ilgili faydalı olan şey, IO'nun hemen gerçekleşmesini gerektirmemesidir - bir okumadan farklı olarak, diskte okuma tamamlanana kadar veriyi kullanıcıya veremezsiniz.
Bu nedenle yazarlar yumuşak bir zaman kısıtlaması altında çalışır - sürekli verimimiz diskimizi geçmediği sürece, performans önleme cezalarının çoğunu yazma önbelleğinde gizleyebiliriz.
Ve önbellek yazmamız gerekiyor - dönen diskler nispeten yavaş. Ancak, modern RAID tiplerinin yapılabilmesi için operasyonda önemli bir ceza var.
Bir RAID 6 örneğin, bir yazma IO'sunu tamamlamak için:
- Güncelleme bloğunu oku
- parite1 oku
- parite 2'yi oku
- yeni blok yaz
- parite yazmak 1
- parite 2'yi yaz
Dolayısıyla her yazma aslında 6 GÇ işlemidir - ve özellikle büyük SATA sürücüleri gibi yavaş diskleriniz olduğunda, bu oldukça pahalı bir hale gelir.
Ancak güzel ve kolay bir çözüm var - birleştirme yaz. Tamponda 'tam şerit' yazmak oluşturabiliyorsanız, diskinizden eşliği okumak zorunda değilsiniz - bellekte ne olduğuna göre hesaplayabilirsiniz.
Bunu yapmak çok arzu edilir çünkü o zaman artık yazma güçlendirmeniz yok. Gerçekten de, RAID 1 + 0'dan daha düşük yazma cezası alabilirsiniz.
Düşünmek:
RAID 6, 8 + 2 - 10 iş milleri.
8 arka arkaya veri bloğu yazmak - önbellekteki eşliği hesaplamak ve her diske bir blok yazmak. 8 başına 10 yazma, 1,25 yazma cezası anlamına gelir. 10 RAID 1 + 0 disketinde hala 2 yazma cezası var (çünkü her bir göndericiye yazmanız gerekiyor). Dolayısıyla bu senaryoda, RAID 6'nın RAID1 + 0'dan daha iyi performans göstermesini sağlayabilirsiniz. Gerçek dünya kullanımında, karışık bir GÇ profilinden biraz daha fazlasını alırsınız.
Bu nedenle yazma önbelleğe alma, RAID setlerinin algılanan performansında büyük bir fark yaratır - RAM hızında yazma ve düşük bir yazma cezası alma - bunu yaparsanız sürekli veriminizi artırma.
Ve bunu yapmazsanız, SATA'nın yavaş performansına katlanırsınız, ancak bunu 6 ile çarpın ve oraya biraz çekişme ekleyin. Yazma önbelleğe alma olmadan 10 yollu SATA RAID-6, RAID olmadan tek bir sürücüye göre biraz daha hızlı olurdu ... ama çok fazla değil.
Yine de bir risk alırsınız - not ettiğiniz gibi - güç kaybı veri kaybı anlamına gelir. Bunu, önbellek temizleme döngülerinde, önbellekte pil yedeklemede veya SSD veya diğer geçici olmayan önbelleklerde kullanarak azaltabilirsiniz.