Daha iyi bir dosya sistemine sahip Windows


14

Windows iş istasyonlarında çalışan bir Java geliştiricisi olarak gözlemlerimden NTFS, Linux dosya sistemlerine kıyasla yavaş. Soru, NTFS sürücüsünde manuel olarak ayarlanabilen, örneğin önbellek için daha fazla bellek veren bir şey var mı? Bazı deneysel algoritmalar etkinleştirilsin mi? Bu mevcut değilse, Windows'da kullanılabilecek başka bir dosya sistemi, belki de ticari, hatta NTFS'den daha hızlı mı?

Açıkçası, Maven projeleri için derleme hızlarını artırmak istemiyorum, işletim sistemi için genel bir iyileştirme almak istiyorum. NTFS'nin Linux dosya sistemlerine kıyasla çok eski ve yavaş olduğunu hissediyorum. Gezegendeki en popüler işletim sisteminin hala tek bir dosya sistemine sahip olması garip bir durum gibi görünüyor. Belki orada olan alternatif?

Güncelleme: İşte gözlemlerime göre yavaş olan şey. Bir proje oluşturuyorum / paketliyorum, bu da diskte çok sayıda okuma / yazma işlemi anlamına geliyor. Yapı sistemi çapraz platform (Java, Maven), bu yüzden örneğin Ubuntu'ya önyükleme yapıldığında aynı işlemleri gerçekleştirebilirim.

Linux'ta yapılarım en az 1/3 daha hızlı. Dolayısıyla dosya sistemi ile ilgili soru. Yanlış yerleştirilmişse özür dilerim.


7
NTFS ne şekilde yavaş? Tam olarak aynı işlemler için diğer dosya sistemlerinden daha yavaş olduğunu bilmek için hızını nasıl ölçüyorsunuz? NTFS, Windows'un kendisinden önyükleme yapabildiği yerel olarak desteklenen tek dosya sistemidir (sınırlamalara sahip FAT dışında), ancak önyükleme olmayan bölümler için bir ext3 dosya sistemi sürücüsü alabileceğinize inanıyorum.
Mokubai

Evet, lütfen bizi aydınlatın, NTFS nasıl yavaş?
JL.

1
Ama burada soru nedir? NTFS'yi nasıl hızlandırabileceğiniz veya Windows'un farklı bir dosya sistemi kullanıp kullanamayacağı mı?
Ivo Flipse

1
@ ivo-flipse: Burada karışıklığa neden olduğum için üzgünüm, her iki soru hakkında da bir şeyler öğrenmek istiyorum. Windows'ta NTFS'ye kanıtlanmış bir alternatif yok mu? Değilse, bazı önbelleklere daha fazla bellek vermek veya bazı deneysel mekanizmaları etkinleştirmek gibi NTFS'nin performansını artırmak genellikle mümkün müdür?
Yuri Ushakov

1
@ sinni800 Bu çok saçma, üzgünüm. Bir Masaüstü İşletim Sistemi olarak Linux'un mükemmel olmaktan uzak olduğunu kabul ederken, Sunucu İşletim Sistemi olarak neredeyse tüm iş yükleri için Windows'tan çok daha iyi. Beta kalitesinde bir işletim sistemi kullanan ilk 1 milyon web sitesinin% 96,6'sı söz konusu değil.
mjaggard

Yanıtlar:


3

Windows ana bilgisayarları için ZFS gibi bir şey görmek isterken, NTFS korkunç bir dosya sistemi değildir. Çoğu "modern" dosya sistemi özelliğini (genişletilmiş öznitelikler, günlük kaydı, ACL'ler, adını siz verirsiniz) destekler, ancak Explorer ve bunların hiçbirini desteklemeyen diğer birçok uygulama tarafından engellenir.

Performansını kesinlikle öldürecek olan bir şey, bir dizinde "çok fazla" girişe sahip olmaktır. Bir dizinde birkaç bin giriş geçtikten sonra her şey yavaşlamaya başlar. Kelimenin tam anlamıyla, tüm makine NTFS'nin bu sırada girdi oluşturmasını veya kaldırmasını beklerken durur.

.NET derlemeleri için HTML tabanlı dokümanlar oluşturan bir uygulamayla çalışırdım; özellik, yöntem, sınıf, ad alanı, vb. başına bir dosya oluşturur. Daha büyük montajlar için, hepsi tek bir dizine güzelce dökülmüş 20 + k dosyaları görürdük. Makine, derleme sırasında NTFS'de engellenen birkaç saat harcar.

Teorik olarak, Windows yerel ZFS, ext3 veya her neyse (hatta FUSE) mümkün kılan dosya sistemi eklentilerini destekler. Uygulamada, API'lar belgelenmemiştir, bu yüzden tamamen kendi başınıza olursunuz.

Java geliştirme yaptığınızdan, makinenize farklı bir işletim sistemi yükleyebilir veya Windows'un üstünde bir VM kullanabilir misiniz?

Ayrıca, platformdan bağımsız bir dosya sistemi karşılaştırmasını denemek isteyebilirsiniz (iozone, bonnie ... muhtemelen kafamın üstünden bilmediğim daha modern olanlar, belki de Java'da yazılmış birkaç tane) aslında sizi tutan dosya sistemi veya başka bir şeyse. Erken optimizasyon ve tüm bunlar ...


Yüklenebilir Dosya Sistemi en az 2000 yılından beri belgelenmiştir. Eklenti eksikliği her zaman zorluğa ve ilgisizliğe düşmüştür. Hala zor, ancak FUSE ve FSDK artık mevcut.
user165568

Yıllardır Windows'ta Ext2 kullandım. İyi çalışıyor!
oligofren

5
  • Son Erişim süresini kapatma
  • Kısa Dosya adlarını kapatma
  • Bildirimi Sil'i kapatma
  • Dizin Oluşturmayı Kapat
  • Günlük kaydını devre dışı bırak
  • Gölge kopyayı ve önceki sürümleri, kotaları ve paylaşımları devre dışı bırakın.
  • Bypass çapraz kontrolünü etkinleştir

Gerçek çözüm, taşınabilirlik çerçevesinin altındaki unix API (fopen vb.) Yerine yerel windows dosya sistemi API'sını kullanması için derleme sisteminizi yeniden yazmak olacaktır. Ama bu olmayacak, bu yüzden temelde kabul edilebilir olduğunu düşündükleri herhangi bir performans seviyesine sıkışmış durumdasınız.

Genellikle Windows için orijinal olarak yazılmayan sistemleri kullanırken, dizin geçişinin çok kötü işlendiğini görürsünüz, bu nedenle çok düz bir dizin ağacına sahip olduğunuzdan emin olun.


1
Biraz daha bilgi verirse bu daha iyi bir yanıt olacaktır. 1. Her biri için ne kadar zaman kazanılabileceğinin bir ölçüsü ve 2. Bu değişikliklerin nasıl yapılacağı.
mjaggard

Evet, bunu nasıl yapıyorsun? Tüm bunlar Linux üzerinde iyi ve züppe, sadece değiştiriliyor fstab, ama Windows?
oligofren

3

Yeni Windows işletim sistemi tarafından desteklenen bir dosya sistemi vardır VE NTFS'den daha hızlıdır. ExFAT. Sistem sürücüsü için kullanma olasılığı vardır. Ancak ne tür komplikasyonları olabileceği bilinmiyor.

Yine de diğer bölümler için kullanabilirsiniz. Rastgele okuma / yazma işlemleriyle daha hızlıdır. Örneğin bir SSD için mükemmeldir.


1
Hemen şimdi denedim ve exFAT daha yavaş görünüyor. İlk olarak NTFS: 36.083s, ikinci: 19.884s. İlk exFAT üzerine inşa: 41.160s, ikinci: 27.291s.
Yuri Ushakov

Huh. exFAT, Windows tarafından yerel olarak desteklenen ve sistem sürücüsü olarak COULD olarak kullanılabilen tek dosya sistemidir (izinler mevcuttur). Çevrimiçi olarak bir test gördüm ve exFAT'ın rastgele okumalarla daha hızlı olduğunu söyledi.
sinni800

Testin exFAT'ın daha hızlı olmasının nedeni, muhtemelen> 32768 giriş içeren bir dizinde test etmemiş olmalarıydı. Ayrıca, Windows'un daha yeni sürümleri dahili değişiklikler nedeniyle daha da yavaşlamış olabilir. Tanrı (MS) bir opendir()(veya eşdeğeri) çağrıda ne olduğunu bilir .
MattBianco

3

Proje klasörünüz için erişim / yazma denetiminde çalışan bir anti virüs programınız var mı?

Derleme, virüs tarayıcısını boğabilecek çok sayıda küçük dosyayı hızlı bir şekilde okuyup yazmayı içerir. Proje klasörünüzü hariç tutulan klasörler listesine ekleyin ve durumun düzelip düzelmediğine bakın.

Linux'ta (muhtemelen) herhangi bir anti virüs yazılımınız yok ....


Defans kapalı, AV kapanıyor (veya duruma göre tamamen kaldırılıyor).
Yuri Ushakov

@Yuri - oh iyi.
ChrisF
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.