Cách tinh chỉnh SSD của bạn trong Ubuntu để có hiệu suất tốt hơn
Có rất nhiều mẹo để điều chỉnh SSD của bạn trong Linux và rất nhiều báo cáo giai thoại về những gì hoạt động và những gì không. Chúng tôi đã chạy điểm chuẩn của riêng mình với một vài điều chỉnh cụ thể để cho bạn thấy sự khác biệt thực sự.
Điểm chuẩn
Để đánh giá đĩa của chúng tôi, chúng tôi đã sử dụng Phoronix Test Suite. Nó miễn phí và có kho lưu trữ cho Ubuntu, do đó bạn không cần phải biên dịch từ đầu để chạy thử nghiệm nhanh. Chúng tôi đã thử nghiệm hệ thống của mình ngay sau khi cài đặt Ubuntu Natty 64-bit mới bằng cách sử dụng các tham số mặc định cho hệ thống tệp ext4.
Thông số kỹ thuật hệ thống của chúng tôi như sau:
- Bộ tứ lõi AMD Phenom II @ 3,2 GHz
- Bo mạch chủ MSI 760GM E51
- RAM 3,5 GB
- AMD Radeon 3000 tích hợp w / 512MB RAM
- Ubuntu tự nhiên
Và, tất nhiên, ổ SSD mà chúng tôi sử dụng để thử nghiệm là ổ Onyx 64 GB ($ 117 trên Amazon.com tại thời điểm viết).
Tweaks nổi bật
Có khá nhiều thay đổi mà mọi người khuyên dùng khi nâng cấp lên SSD. Sau khi lọc ra một số nội dung cũ hơn, chúng tôi đã tạo một danh sách ngắn các tinh chỉnh mà các bản phân phối Linux không được đưa vào làm mặc định cho SSD. Ba trong số chúng liên quan đến việc chỉnh sửa tệp fstab của bạn, vì vậy hãy sao lưu trước khi bạn tiếp tục với lệnh sau:
sudo cp / etc / fstab /etc/fstab.bak
Nếu có lỗi xảy ra, bạn luôn có thể xóa tệp fstab mới và thay thế nó bằng bản sao lưu của bạn. Nếu bạn không biết đó là gì hoặc bạn muốn tìm hiểu về cách thức hoạt động của nó, hãy xem HTG Giải thích: Linux fstab là gì và nó hoạt động như thế nào?
Thời gian truy cập Eschewing
Bạn có thể giúp tăng tuổi thọ cho ổ SSD của mình bằng cách giảm số lượng hệ điều hành ghi vào đĩa. Nếu bạn cần biết khi nào mỗi tệp hoặc thư mục được truy cập lần cuối, bạn có thể thêm hai tùy chọn này vào tệp / etc / fstab của mình:
noatime, gật đầu
Thêm chúng cùng với các tùy chọn khác và đảm bảo tất cả chúng được phân tách bằng dấu phẩy và không có khoảng trắng.
Kích hoạt TRIM
Bạn có thể kích hoạt TRIM để giúp quản lý hiệu suất đĩa trong thời gian dài. Thêm tùy chọn sau vào tệp fstab của bạn:
loại bỏ
Điều này hoạt động tốt cho các hệ thống tập tin ext4, ngay cả trên các ổ đĩa cứng tiêu chuẩn. Bạn phải có phiên bản kernel tối thiểu 2.6,33 trở lên; bạn được bảo hiểm nếu bạn đang sử dụng Maverick hoặc Natty hoặc bật backport trên Lucid. Mặc dù điều này không đặc biệt cải thiện điểm chuẩn ban đầu, nhưng nó sẽ làm cho hệ thống hoạt động tốt hơn trong thời gian dài và vì vậy nó đã đưa ra danh sách của chúng tôi.
Tmpfs
Bộ đệm hệ thống được lưu trữ trong / tmp. Chúng tôi có thể yêu cầu fstab gắn cái này vào RAM dưới dạng hệ thống tệp tạm thời để hệ thống của bạn sẽ chạm vào ổ cứng ít hơn. Thêm dòng sau vào cuối tệp / etc / fstab của bạn trong một dòng mới:
tmpfs / tmp tmpfs mặc định, noatime, mode = 1777 0 0
Lưu tệp fstab của bạn để cam kết những thay đổi này.
Chuyển đổi lịch trình IO
Hệ thống của bạn không ghi tất cả các thay đổi vào đĩa ngay lập tức và nhiều yêu cầu được xếp hàng. Bộ lập lịch đầu vào-đầu ra mặc định - cfq - xử lý ổn, nhưng chúng ta có thể thay đổi cái này thành cái hoạt động tốt hơn cho phần cứng của chúng ta.
Đầu tiên, liệt kê các tùy chọn bạn có sẵn bằng lệnh sau, thay thế X X X bằng chữ cái của ổ đĩa gốc của bạn:
cat / sys / block / sdX / queue / calendaruler
Cài đặt của tôi là trên sda. Bạn sẽ thấy một vài lựa chọn khác nhau.
Nếu bạn có thời hạn, bạn nên sử dụng nó, vì nó cung cấp cho bạn một tinh chỉnh thêm xuống dòng. Nếu không, bạn sẽ có thể sử dụng noop mà không gặp vấn đề gì. Chúng tôi cần yêu cầu HĐH sử dụng các tùy chọn này sau mỗi lần khởi động, vì vậy chúng tôi sẽ cần chỉnh sửa tệp RC.local.
Chúng tôi sẽ sử dụng nano, vì chúng tôi cảm thấy thoải mái với dòng lệnh, nhưng bạn có thể sử dụng bất kỳ trình soạn thảo văn bản nào khác mà bạn thích (gedit, vim, v.v.).
sudo nano /etc/rc.local
Phía trên đường thoát 0 0, hãy thêm hai dòng này nếu bạn đang sử dụng thời hạn:
thời hạn tiếng vang> / sys / block / sdX / queue / calendaruler
echo 1> / sys / block / sdX / queue / iosched / fifo_batch
Nếu bạn đang sử dụng noop, hãy thêm dòng này:
echo noop> / sys / block / sdX / queue / calendaruler
Một lần nữa, thay thế X X X với tên ổ đĩa thích hợp cho cài đặt của bạn. Nhìn qua tất cả mọi thứ để đảm bảo nó trông tốt.
Sau đó, nhấn CTRL + O để lưu, sau đó CTRL + X để thoát.
Khởi động lại
Để tất cả những thay đổi này có hiệu lực, bạn cần khởi động lại. Sau đó, bạn sẽ được thiết lập tất cả. Nếu có lỗi xảy ra và bạn không thể khởi động, bạn có thể hoàn tác một cách có hệ thống từng bước trên cho đến khi bạn có thể khởi động lại. Bạn thậm chí có thể sử dụng LiveCD hoặc LiveUSB để khôi phục nếu bạn muốn.
Các thay đổi fstab của bạn sẽ thực hiện trong suốt quá trình cài đặt của bạn, thậm chí có thể nâng cấp, nhưng thay đổi RC.local của bạn sẽ phải được tạo lại sau mỗi lần nâng cấp (giữa các phiên bản).
Kết quả điểm chuẩn
Để thực hiện các điểm chuẩn, chúng tôi đã chạy bộ kiểm tra đĩa. Hình ảnh trên cùng của mỗi thử nghiệm là trước khi điều chỉnh cấu hình ext4 và hình ảnh dưới cùng là sau các tinh chỉnh và khởi động lại. Bạn sẽ thấy một lời giải thích ngắn gọn về những gì các biện pháp kiểm tra cũng như giải thích kết quả.
Hoạt động tập tin lớn
Thử nghiệm này nén một tệp 2GB với dữ liệu ngẫu nhiên và ghi nó vào đĩa. Các tinh chỉnh SSD ở đây cho thấy sự cải thiện khoảng 40%.
IOzone mô phỏng hiệu năng hệ thống tệp, trong trường hợp này bằng cách viết tệp 8GB. Một lần nữa, tăng gần 50%.
Ở đây, một tệp 8GB được đọc. Kết quả gần giống như không điều chỉnh ext4.
AIO-Stress kiểm tra không đồng bộ đầu vào và đầu ra, sử dụng tệp thử nghiệm 2 GB và kích thước bản ghi 64KB. Ở đây, hiệu suất tăng gần 200% so với vanilla ext4!
Hoạt động tệp nhỏ
Một cơ sở dữ liệu SQLite được tạo và PTS thêm 12.500 bản ghi vào nó. Các tinh chỉnh SSD ở đây thực sự làm chậm hiệu suất khoảng 10%.
Điểm chuẩn Apache kiểm tra đọc ngẫu nhiên các tệp nhỏ. Đã tăng khoảng 25% hiệu suất sau khi tối ưu hóa SSD của chúng tôi.
PostMark mô phỏng 25.000 giao dịch tệp, 500 đồng thời tại bất kỳ thời điểm nào, với kích thước tệp trong khoảng từ 5 đến 512KB. Điều này mô phỏng máy chủ web và thư khá tốt và chúng tôi thấy hiệu suất tăng 16% sau khi điều chỉnh.
FS-Mark xem xét 1000 tệp với tổng kích thước 1MB và đo xem có bao nhiêu có thể được viết và đọc hoàn toàn trong một khoảng thời gian định trước. Các chỉnh sửa của chúng tôi thấy sự gia tăng, một lần nữa, với kích thước tệp nhỏ hơn. Tăng khoảng 45% với các điều chỉnh ext4.
Truy cập hệ thống tệp
Hệ thống tập tin kiểm tra điểm chuẩn Dbench được gọi bởi khách hàng, giống như cách Samba làm mọi việc. Ở đây, hiệu suất của vanilla ext4 bị cắt giảm 75%, một thiết lập chính trong những thay đổi chúng tôi đã thực hiện.
Bạn có thể thấy rằng khi số lượng khách hàng tăng lên, sự khác biệt về hiệu suất sẽ tăng lên.
Với 48 khách hàng, khoảng cách đã thu hẹp phần nào giữa hai người, nhưng vẫn có sự mất hiệu năng rất rõ ràng bởi các tinh chỉnh của chúng tôi.
Với 128 khách hàng, hiệu suất gần như tương đương. Bạn có thể lý do rằng các tinh chỉnh của chúng tôi có thể không lý tưởng để sử dụng tại nhà trong loại hoạt động này, nhưng sẽ cung cấp hiệu suất tương đương khi số lượng khách hàng tăng lên rất nhiều.
Thử nghiệm này phụ thuộc vào thư viện truy cập AIO của kernel. chúng tôi đã cải thiện 20% tại đây.
Ở đây, chúng tôi có số đọc ngẫu nhiên đa luồng là 64 MB và hiệu suất tăng 200% tại đây! Ồ!
Trong khi ghi 64 MB dữ liệu với 32 luồng, chúng tôi vẫn tăng hiệu suất 75%.
Compile Bench mô phỏng ảnh hưởng của tuổi tác trên một hệ thống tệp như được biểu thị bằng cách thao tác với các cây nhân (tạo, biên dịch, vá, v.v.). Tại đây, bạn có thể thấy một lợi ích đáng kể thông qua việc tạo hạt nhân mô phỏng ban đầu, khoảng 40%.
Điểm chuẩn này chỉ đơn giản là đo thời gian trích xuất nhân Linux. Không có quá nhiều sự gia tăng hiệu suất ở đây.
Tóm lược
Những điều chỉnh mà chúng tôi đã thực hiện đối với cấu hình ext4 ngoài luồng của Ubuntu đã có tác động khá lớn. Hiệu suất tăng lớn nhất là trong các lĩnh vực ghi và đọc đa luồng, đọc tệp nhỏ và đọc và ghi tệp lớn liền kề. Trên thực tế, vị trí thực sự duy nhất mà chúng tôi thấy có hiệu suất là trong các cuộc gọi hệ thống tệp đơn giản, điều mà người dùng Samba nên đề phòng. Nhìn chung, nó có vẻ là một sự gia tăng khá vững chắc về hiệu suất cho những thứ như lưu trữ trang web và xem / truyền phát video lớn.
Hãy nhớ rằng điều này đặc biệt với Ubuntu Natty 64-bit. Nếu hệ thống hoặc SSD của bạn khác, số dặm của bạn có thể thay đổi. Nhìn chung, có vẻ như các điều chỉnh lịch trình fstab và IO chúng tôi đã thực hiện một chặng đường dài để có hiệu suất tốt hơn, vì vậy có lẽ đáng để thử trên giàn khoan của riêng bạn.
Có điểm chuẩn riêng của bạn và muốn chia sẻ kết quả của bạn? Có một chỉnh sửa nào chúng ta không biết? Âm thanh trong các ý kiến!