Windows dengan sistem file yang lebih baik

14

Dari pengamatan saya sebagai pengembang Java yang bekerja pada workstation Windows, NTFS lebih lambat dibandingkan dengan sistem file Linux. Pertanyaannya adalah, apakah ada sesuatu dalam driver NTFS yang dapat disetel secara manual, misalnya memberikan lebih banyak memori untuk cache? Aktifkan beberapa algoritma eksperimental? Jika itu tidak tersedia, apakah mungkin ada sistem file lain yang dapat digunakan pada Windows, bahkan mungkin komersial, itu lebih cepat daripada NTFS?

Untuk lebih jelasnya, saya tidak ingin meningkatkan kecepatan kompilasi untuk proyek Maven, saya ingin mendapatkan peningkatan keseluruhan untuk OS. Saya merasa bahwa NTFS sudah lama usang dan lambat dibandingkan dengan sistem file Linux. Saya merasa aneh bahwa OS paling populer di planet ini hanya memiliki satu sistem file yang masih memerlukan defragmentasi manual. Mungkin ada adalah alternatif?

Pembaruan: Inilah yang lambat menurut pengamatan saya. Saya sedang membangun / mengemas proyek, yang berarti banyak operasi baca / tulis pada disk. Sistem build adalah cross-platform (Java, Maven), jadi saya bisa melakukan tindakan yang persis sama ketika boot ke Ubuntu, misalnya.

Di Linux build saya setidaknya 1/3 lebih cepat. Maka pertanyaan tentang sistem file. Maaf jika salah tempat.

Yuri Ushakov
sumber
7
Dalam hal apa NTFS lambat? Bagaimana Anda mengukur kecepatannya untuk mengetahui bahwa itu lebih lambat daripada sistem file lain untuk operasi yang sama persis? NTFS adalah satu-satunya sistem file yang didukung secara native (terlepas dari FAT yang memiliki batasan) yang dapat di-boot dari Windows, meskipun saya yakin Anda bisa mendapatkan driver sistem file ext3 untuk partisi non-boot.
Mokubai
Ya, tolong beri tahu kami, bagaimana NTFS lambat?
JL.
1
Tapi apa pertanyaannya di sini? Apakah ini cara Anda dapat mempercepat NTFS atau apakah Windows dapat menggunakan sistem file yang berbeda?
Ivo Flipse
1
@ ivo-flipse: Saya minta maaf karena menyebabkan kebingungan di sini, saya tertarik untuk mempelajari sesuatu tentang kedua pertanyaan. Seperti, apakah tidak ada alternatif yang terbukti untuk NTFS di Windows? Dan jika tidak, apakah mungkin untuk secara umum meningkatkan kinerja NTFS, seperti memberikan lebih banyak memori ke beberapa cache atau mengaktifkan beberapa mekanisme eksperimental?
Yuri Ushakov
1
@ sinni800 Itu hanya sampah, maaf. Sementara saya akui bahwa sebagai OS Desktop, Linux jauh dari sempurna, sebagai OS Server jauh lebih baik daripada Windows untuk hampir semua beban kerja. Tidak ada pertanyaan tentang 96,6% dari 1 juta situs web teratas menggunakan sistem operasi kualitas beta.
mjaggard

Jawaban:

3

Sementara saya ingin melihat sesuatu seperti ZFS tersedia untuk host Windows, NTFS bukan sistem file yang mengerikan. Ini mendukung sebagian besar fitur sistem file "modern" (atribut yang diperluas, penjurnalan, ACL, sebut saja), tetapi terhambat oleh Explorer dan sebagian besar aplikasi lain tidak mendukung semua ini.

Satu hal yang benar-benar akan mematikan kinerjanya adalah memiliki entri "terlalu banyak" dalam direktori. Setelah Anda melewati beberapa ribu entri dalam satu direktori, semuanya melambat menjadi perayapan. Secara harfiah seluruh mesin akan berhenti menunggu NTFS untuk membuat atau menghapus entri ketika ini terjadi.

Saya dulu bekerja dengan aplikasi yang menghasilkan dokumen berbasis HTML untuk .NET assemblies; itu akan membuat satu file per properti, metode, kelas, namespace, dll. Untuk majelis yang lebih besar kita akan melihat 20 + k file, semuanya dengan baik dibuang ke direktori tunggal. Mesin akan menghabiskan beberapa jam selama pembangunan diblokir di NTFS.

Secara teori, Windows mendukung plugin filesystem, yang memungkinkan ZFS asli, ext3, atau apa pun (bahkan FUSE). Dalam praktiknya, API tidak berdokumen, sehingga Anda sepenuhnya mandiri.

Sekarang, karena Anda melakukan pengembangan Java, dapatkah Anda menginstal OS yang berbeda pada mesin Anda, atau menggunakan VM di atas Windows?

Juga, Anda mungkin ingin mencoba beberapa tolok ukur filesystem platform-independen (iozone, bonnie ... mungkin ada yang lebih modern saya tidak tahu dari atas kepala saya, mungkin bahkan beberapa ditulis di Jawa) untuk melihat apakah itu sebenarnya filesystem menahan Anda, atau jika itu sesuatu yang lain. Optimalisasi prematur dan semua itu ...

Chrish
sumber
Sistem File yang Dapat Diinstal telah didokumentasikan setidaknya sejak tahun 2000. Kurangnya plugin selalu mengalami kesulitan dan kurangnya minat. Ini masih sulit, tetapi FUSE dan FSDK sekarang tersedia.
user165568
5
  • Matikan waktu Akses Terakhir
  • Matikan Nama File Pendek
  • Matikan Hapus Notifikasi
  • Matikan Pengindeksan
  • Nonaktifkan penjurnalan
  • Nonaktifkan salin bayangan dan ayat serta kuota dan bagikan sebelumnya.
  • Aktifkan pemeriksaan lintas bypass

Saya kira solusi sebenarnya adalah menulis ulang sistem build Anda sehingga menggunakan API sistem file windows asli, alih-alih API unix (fopen dll) itu sendiri di bawah kerangka portabilitas. Tapi itu tidak akan terjadi, jadi pada dasarnya Anda terjebak dengan tingkat kinerja apa pun yang mereka pikir dapat diterima.

Seringkali ketika menggunakan sistem yang awalnya tidak ditulis untuk Windows, Anda menemukan bahwa direktori traversal telah ditangani dengan sangat buruk, jadi pastikan Anda memiliki pohon direktori yang sangat datar.

pengguna165568
sumber
1
Ini akan menjadi jawaban yang lebih baik jika memberi informasi lebih lanjut. 1. Beberapa ukuran berapa banyak waktu yang dapat dihemat untuk masing-masing dan 2. Bagaimana melakukan perubahan ini.
mjaggard
3

Ada satu sistem file yang didukung oleh OS Windows baru DAN lebih cepat dari NTFS. Itu exFAT. Ada kemungkinan untuk menggunakannya untuk drive sistem. Tetapi tidak diketahui komplikasi apa yang mungkin terjadi.

Anda tentu dapat menggunakannya untuk partisi lain. Lebih cepat dengan operasi baca / tulis acak. Sempurna untuk SSD misalnya.

sinni800
sumber
1
Sudah mencoba sekarang, dan exFAT tampaknya lebih lambat. Build pertama berdasarkan NTFS: 36.083s, kedua: 19.884s. Build pertama berdasarkan exFAT: 41.160s, kedua: 27.291s.
Yuri Ushakov
Hah. exFAT adalah satu-satunya sistem file lain yang sekarang secara native didukung oleh Windows dan COULD dapat digunakan sebagai drive sistem (izin ada). Saya pernah melihat tes, online, dan katanya exFAT lebih cepat dengan pembacaan acak.
sinni800
Alasan bahwa tes mengatakan exFAT lebih cepat mungkin karena mereka tidak mengujinya pada direktori yang berisi> 32768 entri. Juga, versi Windows yang lebih baru bisa melambat lebih lanjut karena perubahan internal. Tuhan (MS) tahu apa yang terjadi dalam panggilan opendir()(atau yang setara).
MattBianco
2

Apakah Anda memiliki program anti virus yang sedang berjalan yang memeriksa akses / tulis untuk folder proyek Anda?

Kompilasi melibatkan membaca dan menulis banyak file kecil secara berurutan, yang dapat membanjiri pemindai virus. Tambahkan folder proyek Anda ke daftar folder yang dikecualikan dan lihat apakah itu memperbaiki situasi.

Di Linux Anda (mungkin) tidak memiliki perangkat lunak anti virus ....

ChrisF
sumber
Pembela mati, AV dimatikan (atau dihapus sepenuhnya, tergantung kasusnya).
Yuri Ushakov
@ Yuri - oh well.
ChrisF