Cải thiện tốc độ ghi mdadm RAID-6


8

Tôi có mdadm RAID-6 trong máy chủ gia đình có ổ cứng 5x1Tb WD Green. Tốc độ đọc là quá đủ - 268 Mb / giây trong dd. Nhưng tốc độ ghi chỉ là 37,1 Mb / s. (Cả hai được kiểm tra qua dd trên tệp 48Gb, kích thước RAM là 1Gb, kích thước khối được sử dụng trong thử nghiệm là 8kb)

Bạn có thể vui lòng đề nghị tại sao tốc độ viết quá thấp và có cách nào để cải thiện nó không? Việc sử dụng CPU trong khi ghi chỉ là 25% (tức là một nửa trong số 1 lõi của Opteron 165) Không có dữ liệu quan trọng trong kinh doanh ở đó & máy chủ được hỗ trợ bởi UPS.

mdstat là:

Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sda1[0] sdd1[4] sde1[3] sdf1[2] sdb1[1]
      2929683456 blocks super 1.2 level 6, 1024k chunk, algorithm 2 [5/5] [UUUUU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>

Bất kỳ đề xuất?

Những thứ như viết lại, rào cản, nobh đã không giúp đỡ. DD blockize = 1M, 8M không thay đổi gì cả. Có vẻ như mdadm đọc các lĩnh vực để tính tương đương ngay cả khi điều đó không quan trọng ... Điều đó có đúng không?

Cập nhật: Suy giảm tốc độ sau khi thay đổi bộ đệm sọc thực sự là do 1 ổ cứng có thể bị lỗi trong quá trình thử nghiệm, thật tuyệt :-D

Đã giải quyết: Sau khi tăng bộ đệm sọc và chuyển sang bitmap ngoài, tốc độ của tôi là ghi 160 Mb / giây, đọc 260 Mb / giây. : -D


Hey Bars .. Bạn đã điều chỉnh những gì và sau khi thay đổi, hiệu suất đã giảm xuống 120Mb / s? Tôi đang gặp vấn đề tương tự nhưng hiệu suất của tôi tệ hơn nhiều :( Mọi đề xuất đều hữu ích! Cảm ơn!

Trong trường hợp của tôi, tôi đã có một đĩa mềm ở giữa tối ưu hóa :-)
BarsMonster

Câu trả lời:


9

Bạn đã thử điều chỉnh / sys / block / mdX / md / Stripe_cache_size chưa?

Theo bài đăng trên diễn đàn này (bằng tiếng Na Uy, xin lỗi) "điều chỉnh tham số này càng cần thiết thì càng có nhiều đĩa và hệ thống nhanh hơn bạn có":

Trên hệ thống của tôi, tôi nhận được hiệu suất tốt nhất bằng cách sử dụng giá trị 8192. Nếu tôi sử dụng giá trị mặc định là 256 thì hiệu suất ghi giảm 66%.

Trích dẫn tốc độ của mình để so sánh:

Đĩa: 8xSeagate 2TB LP (5900RPM) trong mdadm RAID6 (-n 512) (Stripe_size_cache = 8192).

CPU: Intel X3430 (4x2.4GHz, RAM DDR3 ECC 8GB)

Tốc độ: ghi tuần tự 387 MB / s, đọc tuần tự 704 MB / s, 669 lần tìm ngẫu nhiên mỗi giây.

Máy chủ nhà của tôi có hầu hết các đĩa giống như bạn, sử dụng RAID 5:

Đĩa: 4x1.5TB WD Green trong RAID 5 (Stripe_size_cache = 256 - mặc định)

CPU: Intel i7 920 (2,66 GHz, RAM 6 GB)

Tốc độ: ghi tuần tự 60 MB / s, đọc tuần tự 138 MB / s (theo Bonnie ++)

Vì vậy, có vẻ như hiệu suất ghi tuần tự là khoảng 50% hiệu suất đọc.

Đối với hiệu suất mong đợi, Linux Raid Wiki nói về RAID 5:

Việc đọc gần giống với đọc RAID-0, ghi có thể khá tốn kém (yêu cầu đọc trước khi ghi, để có thể tính toán thông tin chẵn lẻ chính xác, như trong hoạt động cơ sở dữ liệu) hoặc tương tự như RAID-1 ghi (khi ghi tuần tự lớn hơn được thực hiện và tính chẵn lẻ có thể được tính trực tiếp từ các khối khác sẽ được viết).

Và về RAID 6:

Hiệu suất đọc tương tự RAID-5 nhưng hiệu suất ghi kém hơn.


Tốc độ ghi giảm xuống 15-20 Mb / giây, tốc độ đọc giảm xuống 110: -S Điều này không có nghĩa là :-(
BarsMonster

Hãy thử một số giá trị khác, xem những gì xảy ra. Không phải là một chuyên gia về vấn đề này, nhưng tôi có WD Greens (4x1.5TB) trong md RAID 5 với cùng một vấn đề - tốc độ ghi khá chậm. Hiện tại hệ thống của tôi đã ngừng hoạt động, nhưng tôi cũng sẽ thử nghiệm và sẽ cập nhật tại đây nếu tôi có thể cải thiện nó.
jg-faustus

BTW: Bạn đã kích hoạt AHCI chưa? Hệ thống tập tin nào - ext3, ext4?
jg-faustus

Không chắc chắn về AHCI, rất khó để xem BIOS. ext4.
BarsMonster

Chết tiệt, bị mắc kẹt với tốc độ đọc 120Mb / giây, không thể quay lại mức 268 :-( Điều này thật khó chịu ... Tôi không hiểu tại sao mdadm không thể đọc hoặc ghi dữ liệu tuyến tính ở mức ~ 3x90 Mb / giây. .. Thật là ngớ ngẩn.
BarsMonster

4

thử

echo 32768 > /sys/block/md0/md/stripe_cache_size

và kiểm tra ;)


Trong câu trả lời trước, chúng tôi đã thử nghiệm các sọc_cache_sizes khác nhau. Đặt nó thành 32768 không cải thiện bất cứ điều gì. Tôi vẫn ở mức ~ 100Mb / giây ngay cả sau khi nâng cấp (CPU E8500, ram 8Gb và mảng 8x1Tb)
BarsMonster

TUYỆT VỜI! Điều đó ngay lập tức tăng hiệu suất ghi của tôi từ ~ 70MB / s lên ~ 360MB / s!?! Ôi chúa ơi. WTF này không phải là mặc định?!?
stolsvik

Oh từ ngữ của tôi. Điều này thực sự hoạt động ... Từ [================> ....] recovery = 82,1% (1604609136/1953382144) kết thúc = 122,7 phút tốc độ = 47348K / giây đến [ ================> ....] recovery = 82,3% (1607712880/1953382144) kết thúc = 56,2 phút tốc độ = 102451K / giây
Lmwangi

Trong thử nghiệm của tôi, giá trị của 8192 dường như là đủ. Mặc dù ném tất cả mọi thứ tôi phải kiểm tra vào một mảng, tôi không thể có được sọc_cache_active để tăng cao hơn mức thấp 7000.
Jody Lee Bruchon
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.