Mavericks'teki şifreli harici sürücüye son derece düşük yazma hızı


10

Mavericks'te tamamen şifrelenmiş bir USB flash sürücüye yazmak son derece yavaştır.

Test için kullandığım sürücü modeli, Kingston DataTraveler Ultimate 3.0 G3 (64 GB) idi. Hem şifrelenmiş hem de şifrelenmemiş bir sürücüden büyük bir dosyayı okuyarak / yazarak aktarım hızlarını test ettim. Mavericks ile mevcut bir Macbook'ta ve Mountain Lion ile eski bir makinede test ettim. Sürücüyü Mac OS Genişletilmiş (Günlüklü) ve Mac OS Genişletilmiş (Günlüklü, Şifreli) olarak biçimlendirmek için Disk İzlencesi'ni kullandım.

OS X 10.9.2 (13C64) çalıştıran USB 3.0 ile MacBook Pro (2013)

Yazma: 86,16 MB / sn (şifreli: 0,62 MB / sn)
Okuma: 181.66 MB / sn (şifreli: 151.15 MB / sn)

OS X 10.8.5 (12F45) çalıştıran USB 2.0 ile MacBook Pro (2007)

Yazma: 23,57 MB / sn (şifreli: 5,04 MB / sn)
Okuma: 36.23 MB / sn (şifreli: 37.87 MB / sn)

Eski makinede görebileceğiniz gibi, şifrelenmiş birime yazarken yazma hızı açıkça azalır, ancak daha yeni Mavericks çalıştıran makineye kıyasla hala on kat daha hızlıdır. Bu, FileVault veya CoreStorage'da yeni tanıtılan bir sorun olabilir mi?

Güncelleme (2014-06-28)

USB sürücünün en başından beri bir donanım arızası olduğu görülüyor. Hala beklediğim sonuçları sunmayan bir yedek sürücüm var (aynı model) ama en azından 2013 MBP'nin şifreli yazma hızı 2007 MBP ile eşit.

OS X 10.9.3 (13D65) çalıştıran USB 3.0 ile MacBook Pro (2013)

Yazma: 135,41 MB / sn (şifreli: 9,29 MB / sn)
Okuma: 196,22 MB / sn (şifreli: 187,04 MB / sn)

OS X 10.8.5 (12F45) çalıştıran USB 2.0 ile MacBook Pro (2007)

Yazma: - MB / sn (şifreli: 9,39 MB / sn)
Okuma: - MB / sn (şifreli: 37,79 MB / sn)

Bu yine de, 2013 MBP'deki USB sürücüsüne şifrelenmiş yazma hızının neden normal yazma hızının yüzde onundan daha az olduğu sorusunu bırakıyor. Ayrıca 2013 MBP'nin dahili SSD'sinde FileVault'u etkinleştirmeden önce ve sonra okuma / yazma hızlarını karşılaştırdım ve orada herhangi bir yavaşlama tespit edemedim.


1
Vay canına - normal okuma / yazma ve şifreli yazılar iyi görünüyor. Ancak bu şifreli yazma acı verici derecede yavaştır. MB / s'yi hangi araç ölçer? Bu sonuçları Blackmagic (
MAS'da

Basit bir Bash tek astar kullandım time, ddve awk. Blackmagic bana aynı sonuçları veriyor: goo.gl/bn32fC (şifrelenmemiş) vs. goo.gl/yghyqA (şifreli).
Stefan Schmidt

Şifreli birimin okuma hızının eksik olduğundan şüpheleniyorum çünkü okuma süresi Blackmagic'in verim örnekleme aralığından daha kısa
Stefan Schmidt

Yanıtlar:


2

Yazma işlemlerinin flash bellekte çalışması ve çekirdek depolama (veya herhangi bir tam hacimli) şifrelemenin çalışma şeklinin bir kombinasyonundan kaynaklandığına eminim.

İlk olarak, yazma davranışı: herhangi bir anda 0 veya 1'e yazılabilen geçici bellek (bilgisayarınızın belleğinde kullanılan şeyler) veya sabit disklerin aksine, flash belleğin iki ana durumu vardır: yazılı ve silinmiş. "Yazılı" içinde 0 ve 1 vardır. Flash belleğe yazmanız gerektiğinde, silinmiş durumda olan tüm bir bloğu yazmanız gerekir. İşletim sistemindeki dosya sistemi yazılımı hangi blokların ücretsiz olduğunu biliyor olabilir, ancak flash cihazdaki denetleyici ve depolama alanı bilmiyor. İşletim sisteminin bir SSD'ye blokları kullanılabilir hale getirmesini söylemesinin özel bir yolu, "veri yoluna bağlı" SSD'ler için tasarlanmıştır: buna TRIM denir. USB protokol yığınları, bence, TRIM'i desteklemiyor. Yani, temel olarak, flash bellek gerçek silinmiş bloklar kalmayana kadar dolmaya devam eder, bu noktada dosya sistemi blokları okuyarak silmek ve yeniden yazmak zorunda kalır, yeni verilerde birleştirme, silme ve geri yazma. Bu nedenle SSD'lerde küçük dosya yazma performansının zamanla düştüğünü görüyorsunuz.

Şifrelenmiş birimlerin özel koşulları ilginçtir: şifrelemenin çalışma şekline bağlı olarak, tüm bir birimi şifreleyebilir ve bloklar aslında kullanılmamış olsa ve sıfırlar içerse bile tüm blokları rastgele veri gibi görünenlerle doldurabilir. Bu nedenle, FileVault'u açtığınızda (veya çekirdek depolama şifrelemesini başka bir şekilde etkinleştirdiğinizde), temel olarak tüm birimi tüketir ve yazma işlemleri için yer bırakmaz. Dosya sistemi, blokları koymak istediğiniz şifreli verilerle yeniden yazabilmesi için sürekli olarak okumalı, silmeli ve yeniden yazmalıdır.

Şimdi burada bunun işlerin nasıl çalıştığına dair makul bir anlayışa dayanan bir spekülasyon olduğunu söyleyeceğim, ancak ayrıntıları gerçekten bilen, açıklamamı düzeltebilecek veya iyileştirebilecek insanlar var ve umarım bunu yapacaklar.


Gerçekten çok makul geliyor. Biraz kazma yaptım ve harici sürücüler için eSATA ve Thunderbolt'un ikisi de TRIM'i destekliyor gibi görünüyor. Harici SSD'ler ile ilgili ilginç olabilir, ancak Mac sürücülerde eSATA arayüzleri bulunmadığından ve uygun fiyatlı Thunderbolt başparmak sürücülerinin yakın zamanda satışa çıkacağı için muhtemelen başparmak sürücüler için değil: goo.gl/sDM1au
Stefan Schmidt

1
Birisinin merak etmesi durumunda: Bu arada geçici çözümüm, sürücünün kapasitesi olarak boyutlandırılmış sürücüde şifreli bir seyrek paket oluşturmaktır. Ben herhangi bir kriter yapmadım ama sürücüye şifrelenmemiş veri yazma ile kabaca eşit hissediyor.
Stefan Schmidt

@StefanSchmidt burada açıklandığı gibi şifreli bir seyrek paket mi? blog.fosketts.net/2015/07/22/…
Brad Cupit

@BradCupit Evet ama seyrek paketin içeriğini değil, seyrek paketin kendisini senkronize ediyorum, bu yüzden seyrek paketi bağladım hdiutil attach, daha sonra rsyncyerel klasörümle senkronize etmek için kullanıyorum, sonra seyrek paketin bağlantısını kesip hdiutil detachdisk sürücüsünü çıkarıyorum diskutil eject.
Stefan Schmidt
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.