Burada bir şeyler oluyor.
İlk olarak, tüm modern disk teknolojileri toplu aktarımlar için optimize edilmiştir. 100 MB'lık veriyi taşımanız gerekirse, her yere dağılmış yerine tek bir bitişik bloktalarsa, çok daha hızlı bir şekilde yapacaktır. SSD'ler burada çok yardımcı oluyorlar, ancak bitişik bloklardaki verileri bile tercih ediyorlar.
İkincisi, yeniden başlatma, disk işlemleri yapıldığında oldukça uygundur. Bir diskten devasa bitişik bir veri yığını okudunuz, bazı hızlı CPU işlemleri yapıyorsunuz, sonra başka bir büyük bitişik öbek içine başka bir diske yeniden yazıyorsunuz. Eğer güç yarı yolda kalırsa, önemli bir şey olmaz - sadece kötü sağlama toplamı olan verileri görmezden gelirsiniz ve normal başına devam edersiniz.
Üçüncüsü, bir dosyayı silmek gerçekten yavaştır . ZFS özellikle kötü, ancak pratik olarak tüm dosya sistemlerini silmek yavaş. Diskteki çok sayıda farklı veri topluluğunu değiştirmeleri ve doğru bir şekilde zamanlamaları gerekir (yani bekleyin), böylece güç kesilirse dosya sistemi zarar görmez.
Dizinin tamamını geri çağırmanın bir saat sürmesi, ancak diskten silinmesinin 4 gün sürmesi nasıl mümkün olabilir?
Resilvering, disklerin gerçekten hızlı olduğu ve silme işleminin yavaş olduğu bir şeydir. Diskin megabayt başına sadece biraz resilvering yapmak zorunda. Bu alanda silinmesi gereken binlerce dosya olabilir.
70 silme / saniye çok kötü performans gösteriyor
Değişir. Buna şaşırmam. Ne tür bir SSD kullandığınızı söylemediniz. Modern Intel ve Samsung SSD'ler bu tür işlemlerde oldukça iyidir (okuma-değiştirme-yazma) ve daha iyi performans gösterirler. Daha ucuz / daha eski SSD'ler (örneğin Corsair) yavaş olacaktır. Saniyedeki G / Ç işlemlerinin sayısı (IOPS) burada belirleyici faktördür.
ZFS bir şeyleri silmek için özellikle yavaştır. Normalde, arka planda silme işlemi gerçekleştirir, böylece gecikmeyi görmezsiniz. Çok sayıda yapıyorsanız, gizleyemez ve sizi geciktirmek zorundadır.
Ek: neden silmeler yavaş?
- Bir dosyayı silmek birkaç adım gerektirir. Dosya meta verileri 'silindi' olarak işaretlenmeli ve sonunda yeniden kullanılıp yeniden kullanılması gerekir, böylece alan yeniden kullanılabilir. ZFS, yalnızca bir şey oluşturduğunuzda, hiçbir zaman silmemeniz durumunda en iyi performansı gösteren bir "günlük yapılı dosya sistemidir". Günlük yapısı, bir şeyi silerseniz, günlükte bir boşluk olduğu ve bu nedenle boşluğu doldurmak için diğer verilerin yeniden düzenlenmesi (birleştirilmesi) anlamına gelir. Bu kullanıcı için görünmez ancak genel olarak yavaştır.
- Değişiklikler, güç yarı yolda başarısız olursa, dosya sistemi tutarlı kalacak şekilde yapılmalıdır. Genellikle, bu, diskin gerçekten medyanın üzerinde olduğunu onaylayana kadar beklemek anlamına gelir; Bir SSD için bu uzun zaman alabilir (yüzlerce milisaniye). Bunun net etkisi, çok daha fazla defter tutma (disk g / Ç işlemleri) olmasıdır.
- Tüm değişiklikler küçük. Tüm flaş bloklarını (veya manyetik disk için silindirleri) okumak, yazmak ve silmek yerine, bir tanesini biraz değiştirmeniz gerekir. Bunu yapmak için, donanım bir blok veya silindirde okumalı, bellekte değiştirmeli, sonra tekrar medyaya yazmalıdır. Bu uzun zaman alıyor.