Hầu hết các hệ thống Linux tôi quản lý tính năng bộ điều khiển RAID phần cứng (chủ yếu là HP Smart Array ). Tất cả họ đều đang chạy RHEL hoặc CentOS.
Tôi đang tìm kiếm các bộ điều chỉnh trong thế giới thực để giúp tối ưu hóa hiệu suất cho các thiết lập kết hợp bộ điều khiển RAID phần cứng với các đĩa SAS (Smart Array, Perc, LSI, v.v.) và bộ nhớ cache dựa trên pin hoặc flash. Giả sử RAID 1 + 0 và nhiều trục chính (4+ đĩa).
Tôi dành một lượng thời gian đáng kể để điều chỉnh cài đặt mạng Linux cho các ứng dụng giao dịch tài chính và độ trễ thấp. Nhưng nhiều tùy chọn trong số đó là tài liệu tốt (thay đổi bộ đệm gửi / nhận, sửa đổi cài đặt cửa sổ TCP, v.v.). Các kỹ sư đang làm gì về phía lưu trữ?
Trong lịch sử, tôi đã thực hiện các thay đổi đối với thang máy lên lịch I / O , gần đây đã chọn deadline
và lập noop
lịch để cải thiện hiệu suất trong các ứng dụng của mình. Khi các phiên bản RHEL đã phát triển, tôi cũng nhận thấy rằng các mặc định được biên dịch cho các thiết bị khối SCSI và CCISS cũng đã thay đổi. Điều này đã có tác động đến các cài đặt hệ thống lưu trữ được đề xuất theo thời gian. Tuy nhiên, đã được một lúc kể từ khi tôi thấy bất kỳ khuyến nghị rõ ràng. Và tôi biết rằng hệ điều hành mặc định không tối ưu. Ví dụ, có vẻ như bộ đệm đọc trước mặc định 128kb là cực kỳ nhỏ để triển khai trên phần cứng lớp máy chủ.
Các bài viết sau đây khám phá tác động hiệu suất của việc thay đổi giá trị bộ đệm đọc trước và giá trị nr numquests trên hàng đợi khối.
http://zackreed.me/articles/54-hp-smart-array-p410-controll-tuning
http://www.overclock.net/t/515068/tuning-a-hp-smart-array-p400-with -linux-why-chỉnh-thực sự quan trọng
http://yoshinorimatsunobu.blogspot.com/2009/04/linux-io-scheduler-queue-size-and.html
Ví dụ: đây là những thay đổi được đề xuất cho bộ điều khiển RAID mảng thông minh của HP:
echo "noop" > /sys/block/cciss\!c0d0/queue/scheduler
blockdev --setra 65536 /dev/cciss/c0d0
echo 512 > /sys/block/cciss\!c0d0/queue/nr_requests
echo 2048 > /sys/block/cciss\!c0d0/queue/read_ahead_kb
Những gì khác có thể được điều chỉnh đáng tin cậy để cải thiện hiệu suất lưu trữ?
Tôi đặc biệt tìm kiếm các tùy chọn sysctl và sysfs trong các kịch bản sản xuất.