Linux md so với hiệu suất LVM


8

Tôi đang cố gắng điều chỉnh NAS của mình, chạy openfiler và tự hỏi tại sao tôi lại có hiệu suất đọc tương đối kém từ 4 ổ WD RE3 trong RAID 5.

EDIT: Xin lưu ý Tôi đang nói về tốc độ đọc của bộ đệm không được lưu trong bộ nhớ cache

EDIT: Thay đổi định dạng để làm rõ có hai bộ đầu ra.

Khi tôi chạy hdparm trên thiết bị meta, tôi sẽ đạt được mức hiệu suất mà tôi mong đợi, giảm xuống âm lượng và tốc độ chỉ bằng một phần ba!

Có ai biết tại sao không? LVM có tệ không?

trưởng khoa

Kết quả meta thiết bị / dev / md0

[root @ Nas2, v.v.] # hdparm -tT / dev / md0
/ dev / md0:
 Thời gian lưu trong bộ nhớ cache đọc: 4636 MB trong 2,00 giây = 2318,96 MB / giây
 Đĩa đệm thời gian đọc: 524 MB trong 3,01 giây = 174.04 MB / giây

Kết quả nhóm Vol / dev / mapper / vg1-vol1

[root @ Nas2, v.v.] # hdparm -tT / dev / mapper / vg1-vol1
/ dev / mapper / vg1-vol1:
 Thời gian lưu trong bộ nhớ cache đọc: 4640 MB trong 2,00 giây = 2320,28 MB / giây
 Đĩa đệm thời gian đọc: 200 MB trong 3,01 giây = 66,43 MB / giây

Chỉnh sửa: Xem phần từ trang man hdparm cho thấy đây là thử nghiệm hoàn toàn hợp lệ cho hiệu suất đọc tuần tự, đây là vấn đề tôi đang cố gắng giải quyết.

-t Thực hiện thời gian đọc thiết bị cho mục đích so sánh và so sánh. Để có kết quả có ý nghĩa, thao tác này nên được lặp lại 2-3 lần nếu không
              hệ thống không hoạt động (không có quá trình hoạt động nào khác) với ít nhất vài megabyte bộ nhớ trống. Điều này hiển thị tốc độ đọc qua bộ đệm
              bộ nhớ cache vào đĩa mà không có bất kỳ bộ nhớ đệm dữ liệu trước. Phép đo này là một dấu hiệu cho thấy ổ đĩa có thể duy trì tốc độ đọc dữ liệu tuần tự nhanh như thế nào
              Linux, không có bất kỳ hệ thống tập tin nào. Để đảm bảo các phép đo chính xác, bộ đệm bộ đệm được xóa trong quá trình xử lý -t bằng BLKFLSBUF
              ioctl. Nếu cờ -T cũng được chỉ định, thì hệ số hiệu chỉnh dựa trên kết quả của -T sẽ được đưa vào kết quả được báo cáo cho -t
              hoạt động.

bạn đã thử kiểm tra như thế bonnie++nào?
SaveTheRbtz

Câu trả lời:


10

Các thiết lập readahead mặc định cho LVM thực sự bi quan. Hãy thử blockdev --setra 8192 /dev/vg1/vol1và xem những gì làm tăng hiệu suất LVM của bạn lên đến. Bạn sẽ luôn có một cú đánh hiệu suất bằng LVM; chúng tôi đo lường nó trên các hệ thống được cấu hình đúng với khoảng 10% hiệu suất thiết bị khối cơ bản.


4

Tôi không có một lời giải thích tốt, nhưng tôi có thể xác nhận kết quả.

Kiểm tra RAID (ổ đĩa raid5, 4x1.5TB)

root@enterprise:# hdparm -tT /dev/md2
/dev/md2:
 Timing cached reads:   2130 MB in  2.00 seconds = 1065.81 MB/sec
 Timing buffered disk reads:  358 MB in  3.00 seconds = 119.15 MB/sec
root@enterprise:# hdparm -tT /dev/md2
/dev/md2:
 Timing cached reads:   2168 MB in  2.00 seconds = 1084.54 MB/sec
 Timing buffered disk reads:  358 MB in  3.01 seconds = 119.10 MB/sec

kiểm tra âm lượng sử dụng md2 làm thiết bị vật lý.

root@enterprise:# hdparm -tT /dev/mapper/vg2-data
/dev/mapper/vg2-data:
 Timing cached reads:   2078 MB in  2.00 seconds = 1039.29 MB/sec
 Timing buffered disk reads:  176 MB in  3.03 seconds =  58.04 MB/sec
root@enterprise:# hdparm -tT /dev/mapper/vg2-data
/dev/mapper/vg2-data:
 Timing cached reads:   2056 MB in  2.00 seconds = 1028.06 MB/sec
 Timing buffered disk reads:  154 MB in  3.03 seconds =  50.81 MB/sec

Tôi đã thực hiện thay đổi được đề xuất bởi womble và thấy kết quả như thế này.

root@enterprise:# blockdev --setra 8192 /dev/mapper/vg2-data

root@enterprise:# hdparm -tT /dev/mapper/vg2-data
/dev/mapper/vg2-data:
 Timing cached reads:   2106 MB in  2.00 seconds = 1053.82 MB/sec
 Timing buffered disk reads:  298 MB in  3.00 seconds =  99.26 MB/sec
root@enterprise:# hdparm -tT /dev/mapper/vg2-data
/dev/mapper/vg2-data:
 Timing cached reads:   2044 MB in  2.00 seconds = 1022.25 MB/sec
 Timing buffered disk reads:  280 MB in  3.03 seconds =  92.45 MB/sec

3

Hãy chắc chắn rằng bạn so sánh táo với táo.

hdparm -t đọc từ đầu thiết bị cũng là phần nhanh nhất trong đĩa của bạn nếu bạn cho nó toàn bộ đĩa (và đó là đĩa quay).

Hãy chắc chắn rằng bạn so sánh nó với LV từ đầu đĩa.

Để xem bản đồ sử dụng pvdisplay -m.

(được thôi, được cho phép, sự khác biệt về số lượng có thể không đáng kể. Nhưng ít nhất hãy nghĩ về nó :)


Thực tế hóa ra nó không đáng kể. Nếu tôi sử dụng âm lượng bắt đầu ở mức 0, hiệu suất sẽ gần giống nhau. Đây là một phần của câu trả lời tôi chắc chắn.
Dean Smith

Actaully chỉ ra rằng nếu âm lượng được gắn kết, hiệu suất thấp hơn. Nếu tôi ngắt kết nối hiệu suất âm lượng phù hợp với thiết bị thô. Điều này vẫn có vẻ hơi kỳ quặc.
Dean Smith

0

Khối lượng công việc được tạo bởi hdparm -T không phải là đại diện cho hầu hết mọi trường hợp sử dụng ngoại trừ việc đọc luồng từ một tệp lớn. Ngoài ra, nếu hiệu suất là một mối quan tâm, không sử dụng raid5.


3
Đúng nó không phải là đại diện của một khối lượng công việc thực sự, tôi đã không đề nghị rằng nó đã được. Tuy nhiên, nó rất hữu ích để so sánh tốc độ đọc của thiết bị thô. Thiết bị meta và khối lượng nhóm vol nên có tốc độ đọc tuần tự thô tương đương và chúng không có. Đó là điểm của câu hỏi.
Dean Smith

0

Bạn có thể tìm ra nơi hdparm dành thời gian với blktrace (nếu là trong I / O) hoặc oprofile (nếu là trên CPU). Biết thiết lập LVM cũng sẽ giúp (pvdisplay, vgdisplay, lvdisplay).

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.