baskın 0'a yığın yığınları eklemek performansı artırır mı?


10

baskın 0'a yığın yığınları eklemek performansı artırır mı? çizgili bir baskın iki sürücü genellikle tek bir sürücü daha hızlı olacağını biliyorum ama ben çizgili bir baskın 2 sürücüler ve 8 arasında performans farkı fark edecek? gerçekten daha fazla fayda sağlamadan baskındaki sürücü sayısının genel bir sınırı var mı?

benzer bir soru burada soruldu

RAID 10 Dizisine daha fazla sürücü eklemek performansı artırır mı?

ama gerçekten bir baskın 0 birçok sürücü eklemenin sadece 2 veya 4 demek ekleme üzerinde gelişmeler olup olmadığını soruyorum. Performans artmaya devam ediyor mu?

Yanıtlar:


11

Teorik olarak evet, bir baskın0'daki daha fazla sürücü, yük daha fazla sürücü üzerinde paylaşıldığı için daha yüksek performansa neden olur. Ancak uygulamada, raid kontrolörünün bant genişliği, CPU ve bellek performansı ve benzeri ile sınırlı olursunuz. Performans artışı doğrusal olmayacaktır, yani 4 disk 2 diskten tam olarak iki kat daha hızlı değildir.

Raid denetleyicisine sahip herhangi bir makul modern sistemde, hatta linux 'mdadm ile bir yazılım baskını bile kullandığınızda, 8 sürücü kullanmak 2 kullanmaktan daha hızlı olacaktır ve sistemin geri kalan performansından geri durmamanız gerekir. CPU, baskın ve / veya disk denetleyicisi, bellek, her şeyi idare edebilmelidir. Daha fazla disk eklediğinizde, sistem kaynaklarının kullanımının arttığını görebilirsiniz. Özellikle yerleşik SATA denetleyicisini yumuşak bir kombinasyon halinde kullanıyorsanız. Ancak genel kullanılabilirliği gerçekten engelleyecek hiçbir şey yok. Linux kullanıyorsanız, sunucu yönelimli görevlerin kullanıcı duyarlılığına göre öncelik kazanması için "preempt" olmadan yapılandırılmış bir çekirdek kullanmak isteyebilirsiniz.

https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO

Elbette ne kadar çok sürücü eklerseniz, bunlardan birinin başarısız olma şansı o kadar artar ve tüm baskınlarınız yok edilir. Şanslıysanız 8 sürücünün bir baskınının bir veya iki yıldan fazla sürmemesini beklerim. 16 sürücünün bir baskını0 sorun isteyecek ve daha sonra bir baskını düşünecektim10, hala yeterince hızlı olacak ve endişelenecek daha az şeyiniz olacak.

Bir sistemin kaynaklarını kaç sürücünün maksimize edeceği konusunda, ayrıntılı sistem özellikleri olmadıkça bilmiyordum. Sanırım yaklaşık 16 diskten geçerseniz başarısızlık oranıyla daha sınırlı olacağınızı düşünüyorum (bunu düşünmek istemiyorum).

Doğal olarak raid0'ı yalnızca herhangi bir zamanda sorunsuz bir şekilde kaybolabilen veriler için kullanırsınız. Bir yapı sunucusu veya büyük bilimsel hesaplamalar için çalışma alanı gibi şeyler için harika çalışır. Aslında bu senaryolar genellikle bir raid0 kullandığım şeydir ve aksi takdirde toz toplayan daha eski, daha düşük kapasiteli ve ucuz disklerden biraz daha fazla can sıkmak için harika bir yoldur. En azından mdadm ile boyutları bile karıştırabilirsiniz.

Eğer mdadm kullanılıyorsa, bazı konfigürasyonlarda olduğu gibi bir raid10 kullanmayı düşünmeye değer olabilir, bir raid0 performansına yaklaşabilir, yani bir raid0'ın okuma performansı ve diğer raid seviyeleri dışında zaten geliştirilmiş yazma performansı (raid0 hariç). Bir baskınla karşılaştırıldığında sadece hafif bir hız cezası ile diğer baskın seviyelerinden daha iyi yedeklilik elde edersiniz0. Bu her iki dünyanın en iyisi olurdu, bunu sık sık bulamazsınız.

https://en.wikipedia.org/wiki/RAID#Non-standard_levels

Linux MD RAID 10, "yakın" düzeninde varsayılan olarak iki sürücülü standart bir RAID 1 ve dört sürücülü standart bir RAID 1 + 0 olan genel bir RAID sürücüsü sağlar; ancak, tek sayılar da dahil olmak üzere herhangi bir sayıda sürücü içerebilir. "Uzak" yerleşimi ile MD RAID 10, f2 düzeninde yalnızca iki sürücü olsa bile hem çizgili hem de yansıtılabilir; bu, RAID 0'ın okuma performansını vererek çizgili okumalarla yansıtma yapar. Linux yazılımı RAID tarafından sağlanan düzenli RAID 1, okumaları şeritlemez, ancak paralel olarak okuma yapabilir.

Yorumlarda önerildiği gibi, en küçük diskin dizinin boyutunu tanımlamasına izin vermek yerine tüm disk alanını kullanırsanız, mdadm ile boyutları karıştırmak hız artışı sağlamaz.

Ayrıca arama zamanı bir baskında0 iyileşmez ve hatta biraz daha yavaş olabilir. SSD tabanlı bir baskın0 için arama süresi çok küçük olurdu (0.08 ile 0.16 ms arasında https://en.wikipedia.org/wiki/Hard_disk_drive_performance_characteristics#cite_note-HP_SSD-6 ) beklediğim çok önemli değil.


Boyutları karıştırmak istiyorsanız, en azından bu disklerin sahip olduğu tüm alanı kullanmak için RAID0 uygulayamazsınız. Performansı artırmayan JBOD kullanmanız gerekir.
Tero Kilkanen

Mdadm kullanarak boyutları karıştırabilirsiniz, çok esnektir, mdadm 3 disk baskını yapılandırmanıza bile izin verir10. Baskın denetleyicilerinde boyutları karıştırabileceğinizi ummuyorum, bunlar daha az esnek, ancak daha hızlı.
aseq

1
Bunu kontrol ettim ve RAID0'ı istiyorsanız, dizinin en küçük cihazı tüm dizinin boyutunu tanımlar. Yani, 100 GB, 200 GB ve 300 GB sürücüleriniz varsa, 300 GB RAID0 dizisi ve başka amaçlarla kullanmak için 100 GB ve 200 GB boş alan elde edersiniz. Doğrusal modda, tüm cihazların tam kapasitesini elde edersiniz, ancak paralel performansı elde edemezsiniz.
Tero Kilkanen

1
Kulağa doğru geliyor evet.
aseq

2
Rotasyonel ortamlarda, transfer süresi ve transfer süresi sorunu da yok mu? Daha fazla disk eklemek, okunan / yazılan miktarı daha fazla tablaya dağıtır (her biri daha az == daha hızlı yapmak zorundadır), ancak yine de hepsi bir arama işlemi yapmak zorundadır (daha fazla sürücü ekleyerek azaltılmaz). Bu nedenle, gerçekleştirdiğiniz işlemlerin türüne bağlı olarak (yani, birkaç büyük okumaya kıyasla küçük okumaların kaybolması), aktarım hızını artırmak (daha fazla sürücü ekleyerek) küçük veya büyük bir fark yaratabilir.
Molomby

1

İş yüküne bağlıdır, ancak IMHO evet mevcut 2 disk dizisine 2 ek disk eklemek daha iyi bir genel performans sağlamalıdır.

Darboğazların nerede olduğunu anlamanız gerekir:

  • CPU - CPU'nun ne kadar veri akışı işleyebileceği,
  • veri yolu / denetleyici - ne kadar veri taşıyabilir,
  • SSD / HDD - ne kadar veri verebilir / alabilir.

O sırada iki ek disk ekleyerek bir Linux yazılım RAID, olduğunu varsayalım OLABİLİR neden:

  • • yeterince büyük veri bloğuna iki kat daha kısa erişim süresi;
  • ~ çift IOPS,
  • ~ denetleyicinin yeterli veri yoluna sahip olduğu ve CPU'nun trafiği kaldırabileceği varsayılarak çift verim

* ~ Bu, aşağıdaki faktörlerde asla iki zaman artışı değildir, her zaman% 10-20 daha azdır. Az çok doğrusal gibi görünüyor. Lütfen bunu yetkili bir cevap olarak görmeyin, bu konuda herhangi bir çalışma yapmadım.

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.