Windows với hệ thống tập tin tốt hơn


14

Từ những quan sát của tôi với tư cách là một nhà phát triển Java làm việc trên các máy trạm Windows, NTFS chậm so với các hệ thống tệp Linux. Câu hỏi là, có bất cứ điều gì trong trình điều khiển NTFS có thể được điều chỉnh thủ công, ví dụ cung cấp cho nó nhiều bộ nhớ hơn cho bộ nhớ cache không? Cho phép một số thuật toán thử nghiệm? Nếu điều đó không có sẵn, có lẽ có một hệ thống tập tin khác có thể được sử dụng trên Windows, thậm chí có thể là thương mại, nhanh hơn NTFS?

Để rõ ràng, tôi không tìm cách cải thiện tốc độ biên dịch cho các dự án Maven, tôi muốn có một cải tiến tổng thể cho HĐH. Tôi có cảm giác rằng NTFS đã lỗi thời và chậm so với các hệ thống tập tin Linux. Điều lạ lùng là hệ điều hành phổ biến nhất trên hành tinh chỉ có một hệ thống tập tin vẫn yêu cầu chống phân mảnh thủ công. Có lẽ đó một sự thay thế?

Cập nhật: Đây là những gì chậm theo quan sát của tôi. Tôi đang xây dựng / đóng gói một dự án, có nghĩa là nhiều thao tác đọc / ghi trên đĩa. Hệ thống xây dựng là đa nền tảng (Java, Maven), vì vậy tôi có thể thực hiện chính xác các hành động tương tự khi khởi động lên Ubuntu chẳng hạn.

Trên Linux, bản dựng của tôi nhanh hơn ít nhất 1/3. Do đó câu hỏi về hệ thống tập tin. Tôi xin lỗi nếu nó đặt sai vị trí.


7
NTFS chậm như thế nào? Làm thế nào bạn đo tốc độ của nó để biết rằng nó chậm hơn bất kỳ hệ thống tập tin nào khác cho các hoạt động chính xác như nhau? NTFS là hệ thống tệp được hỗ trợ nguyên bản duy nhất (ngoài FAT có các hạn chế) mà chính Windows có thể khởi động từ đó, tuy nhiên tôi tin rằng bạn có thể có được trình điều khiển hệ thống tệp ext3 cho các phân vùng không khởi động.
Mokubai

Vâng, xin vui lòng cho chúng tôi biết, NTFS chậm như thế nào?
JL.

1
Nhưng câu hỏi ở đây là gì? Đây có phải là cách bạn có thể tăng tốc NTFS hay liệu Windows có thể sử dụng một hệ thống tệp khác không?
Ivo Flipse

1
@ ivo-flipse: Tôi xin lỗi vì đã gây nhầm lẫn ở đây, tôi thích tìm hiểu điều gì đó về cả hai câu hỏi. Giống như, không có sự thay thế đã được chứng minh cho NTFS trên Windows? Và nếu không, nói chung có thể tăng hiệu suất của NTFS, như cung cấp thêm bộ nhớ cho một số bộ nhớ cache hoặc cho phép một số cơ chế thử nghiệm không?
Yuri Ushakov

1
@ sinni800 Đó chỉ là rác rưởi, xin lỗi. Mặc dù tôi thừa nhận rằng với tư cách là một HĐH máy tính để bàn, Linux không hoàn hảo, vì là HĐH máy chủ, nó tốt hơn nhiều so với Windows cho gần như tất cả các khối lượng công việc. Không có câu hỏi nào về 96,6% của 1 triệu trang web hàng đầu sử dụng hệ điều hành chất lượng beta.
mjaggard

Câu trả lời:


3

Mặc dù tôi rất muốn thấy một cái gì đó như ZFS có sẵn cho máy chủ Windows, NTFS không phải là một hệ thống tập tin khủng khiếp. Nó hỗ trợ hầu hết các tính năng hệ thống tập tin "hiện đại" (thuộc tính mở rộng, ghi nhật ký, ACL, bạn đặt tên cho nó), nhưng nó bị cản trở bởi Explorer và hầu hết các ứng dụng khác không hỗ trợ bất kỳ ứng dụng nào trong số này.

Một điều sẽ hoàn toàn giết chết hiệu suất của nó là có "quá nhiều" mục trong một thư mục. Khi bạn vượt qua một vài nghìn mục trong một thư mục, mọi thứ sẽ chậm lại. Theo nghĩa đen, toàn bộ máy sẽ tạm dừng để NTFS tạo hoặc xóa các mục khi điều này xảy ra.

Tôi đã từng làm việc với một ứng dụng tạo tài liệu dựa trên HTML cho các cụm .NET; nó sẽ tạo một tệp cho mỗi thuộc tính, phương thức, lớp, không gian tên, v.v. Đối với các tập hợp lớn hơn, chúng ta sẽ thấy các tệp 20 + k, tất cả được đổ vào một thư mục duy nhất. Máy sẽ mất một vài giờ trong quá trình xây dựng bị chặn trên NTFS.

Về lý thuyết, Windows hỗ trợ các plugin hệ thống tập tin, giúp ZFS, ext3 hoặc bất cứ thứ gì (thậm chí là FUSE) có thể. Trong thực tế, các API không có giấy tờ, vì vậy bạn hoàn toàn tự mình làm.

Bây giờ, vì bạn đang thực hiện phát triển Java, bạn có thể cài đặt một HĐH khác trên máy của mình hoặc sử dụng VM trên Windows không?

Ngoài ra, bạn có thể muốn thử một số điểm chuẩn hệ thống tệp độc lập với nền tảng (iozone, bonnie ... có thể có những cái hiện đại hơn mà tôi không biết trên đỉnh đầu, thậm chí có thể viết bằng Java) để xem nó có phải không Trên thực tế, hệ thống tập tin giữ bạn lại, hoặc nếu đó là một cái gì đó khác. Tối ưu hóa sớm và tất cả những điều đó ...


Hệ thống tệp có thể cài đặt đã được ghi nhận ít nhất từ ​​năm 2000. Thiếu các plugin luôn gặp khó khăn và thiếu quan tâm. Vẫn còn khó khăn, nhưng FUSE và FSDK hiện đã có sẵn.
dùng165568

5
  • Tắt thời gian truy cập lần cuối
  • Tắt tên tệp ngắn
  • Tắt Xóa thông báo
  • Tắt lập chỉ mục
  • Vô hiệu hóa journeling
  • Vô hiệu hóa bản sao bóng và các câu thơ trước và hạn ngạch và chia sẻ.
  • Cho phép bỏ qua kiểm tra ngang

Tôi đoán rằng giải pháp thực sự sẽ là viết lại hệ thống xây dựng của bạn để nó sử dụng API hệ thống tệp windows gốc, thay vì API unix (fopen, v.v.) bên dưới khung khả năng di động. Nhưng điều đó sẽ không xảy ra, vì vậy về cơ bản, bạn bị mắc kẹt với bất kỳ mức độ hiệu suất nào mà họ nghĩ là chấp nhận được.

Thông thường khi sử dụng các hệ thống ban đầu không được viết cho Windows, bạn thấy rằng việc truyền tải thư mục đã được xử lý rất kém, vì vậy hãy chắc chắn rằng bạn có một cây thư mục rất phẳng.


1
Đây sẽ là một câu trả lời tốt hơn nếu nó cung cấp thêm một số thông tin. 1. Một số biện pháp về thời gian có thể được tiết kiệm cho mỗi và 2. Cách thực hiện những thay đổi này.
mjaggard

3

Có một hệ thống tệp được hỗ trợ bởi HĐH Windows mới VÀ nhanh hơn NTFS. Đó là exFAT. Có khả năng sử dụng nó cho ổ đĩa hệ thống. Nhưng không biết nó có thể có biến chứng gì.

Bạn chắc chắn có thể sử dụng nó cho các phân vùng khác mặc dù. Nó nhanh hơn với các thao tác đọc / ghi ngẫu nhiên. Hoàn hảo cho một ổ SSD chẳng hạn.


1
Đã thử nó ngay bây giờ, và exFAT có vẻ chậm hơn. Bản dựng đầu tiên trên NTFS: 36.083s, thứ hai: 19.884s. Bản dựng đầu tiên trên exFAT: 41.160s, thứ hai: 27.291s.
Yuri Ushakov

Huh. exFAT là hệ thống tệp duy nhất hiện được Windows hỗ trợ và COULD được sử dụng làm ổ đĩa hệ thống (có quyền). Tôi đã xem một bài kiểm tra một lần, trực tuyến và nó cho biết exFAT nhanh hơn với các lần đọc ngẫu nhiên.
sinni800

Lý do mà bài kiểm tra nói exFAT nhanh hơn có lẽ là vì họ đã không kiểm tra nó trên một thư mục chứa> 32768 mục. Ngoài ra, các phiên bản Windows mới hơn có thể đã chậm hơn do những thay đổi bên trong. Chúa (MS) biết những gì xảy ra trong một opendir()cuộc gọi (hoặc tương đương).
MattBianco

2

Bạn có chương trình chống vi-rút đang chạy đang kiểm tra truy cập / ghi cho thư mục dự án của bạn không?

Biên dịch liên quan đến việc đọc và viết rất nhiều tệp nhỏ liên tiếp, có thể áp đảo trình quét vi-rút. Thêm thư mục dự án của bạn vào danh sách các thư mục bị loại trừ và xem nếu điều đó cải thiện tình hình.

Trên Linux, bạn (có thể) không có bất kỳ phần mềm chống vi-rút nào ....


Defender đã tắt, AV bị tắt (hoặc gỡ cài đặt hoàn toàn, tùy theo từng trường hợp).
Yuri Ushakov

@Yuri - ồ tốt.
ChrisF
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.