Tốc độ đọc / ghi SSD (Intel 530) rất chậm với RAID 10


11

Giải trình:

Chúng tôi có một Máy chủ:

  • Model: HP ProLiant DL160 G6
  • SSD 4 x 240GB (RAID-10)
  • RAM DDR3 72GB
  • 2 x L5639
  • Bộ điều khiển RAID HP P410 (256MB, V6.40, phiên bản Rom: 8.40.41.00)

Ổ SSD là 4 chiếc Intel 530 hoàn toàn mới 2,5 "với tốc độ đọc 540MB / s và tốc độ ghi 490MB / s

  • CentOS 6
  • Hệ thống tập tin là ext4

nhưng đây là kết quả kiểm tra tốc độ đọc trong cuộc đột kích 10:

hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  824 MB in  3.00 seconds = 274.50 MB/sec
[root@localhost ~]# hdparm -t /dev/mapper/vg_localhost-lv_root

/dev/mapper/vg_localhost-lv_root:
 Timing buffered disk reads:  800 MB in  3.01 seconds = 266.19 MB/sec

và đây là tốc độ ghi:

dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 4.91077 s, 109 MB/s

chúng tôi đã hy vọng tốc độ đọc 1GB với đột kích 10 nhưng 270 MB thậm chí không phải là tốc độ của một đĩa!

Câu hỏi:

  1. Tại sao nó lại chậm như vậy?
  2. Có phải vì Bộ điều khiển RAID?

Cập nhật 1 - Tốc độ đọc / ghi tương tự:

Sau khi thay đổi một số cài đặt như được đề cập trong câu trả lời, tôi có kết quả bên dưới:

(Bất kỳ ai cũng biết tại sao nó hiển thị 4GB thay vì 400MB như tốc độ đọc?!)

EDIT: có vẻ như lệnh đã sai và chúng ta nên sử dụng -s144g cho lượng ram này, đó là lý do tại sao nó hiển thị 4GB (như được đề xuất trong nhận xét của ewwhite)

[root@192 ~]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Iozone: Performance Test of File I/O
                Version $Revision: 3.408 $
                Compiled for 64 bit mode.
                Build: linux

        Record Size 1024 KB
        File size set to 58720256 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Output is in Kbytes/sec
        Each process writes a 58720256 Kbyte file in 1024 Kbyte records

        Children see throughput for  1 initial writers  =  135331.80 KB/sec
        Children see throughput for  1 rewriters        =  124085.66 KB/sec
        Children see throughput for  1 readers          = 4732046.50 KB/sec
        Children see throughput for 1 re-readers        = 4741508.00 KB/sec
        Children see throughput for 1 random readers    = 4590884.50 KB/sec
        Children see throughput for 1 random writers    =  124082.41 KB/sec

nhưng hdparm -t /dev/sdalệnh cũ vẫn hiển thị:

Đĩa đệm thời gian đọc: 810 MB trong 3,00 giây = 269,85 MB / giây

Cập nhật 2 (gói điều chỉnh) - Tốc độ đọc hiện là 600MB / s:

Cuối cùng, một số hy vọng, chúng tôi đã vô hiệu hóa bộ đệm từ bộ điều khiển đột kích và đã làm một số việc khác trước đó mà không gặp may, nhưng vì chúng tôi đã tải lại máy chủ và cài đặt lại hệ điều hành, chúng tôi đã quên cài đặt "điều chỉnh" như đề xuất trong câu trả lời của ewwhite (Cảm ơn bạn ewwhite cho gói tuyệt vời này mà bạn đề xuất)

Sau khi cài đặt tuned-utilsvà chọn enterprise-storagehồ sơ, tốc độ đọc bây giờ là ~ 600MB / s + nhưng tốc độ ghi vẫn rất chậm (~ 160MB) (:

Đây là kết quả cho iozone -t1 -i0 -i1 -i2 -r1m -s144glệnh:

    Children see throughput for  1 initial writers  =  165331.80 KB/sec
    Children see throughput for  1 rewriters        =  115734.91 KB/sec
    Children see throughput for  1 readers          =  719323.81 KB/sec
    Children see throughput for 1 re-readers        =  732008.56 KB/sec
    Children see throughput for 1 random readers    =  549284.69 KB/sec
    Children see throughput for 1 random writers    =  116389.76 KB/sec

Ngay cả với hdparm -t /dev/sdalệnh chúng ta có:

Đĩa đệm thời gian đọc: 1802 MB trong 3,00 giây = 600,37 MB / giây

Bất kỳ đề nghị cho tốc độ viết rất chậm?

Cập nhật 3 - Một số thông tin được yêu cầu trong các bình luận:

Tốc độ ghi vẫn rất thấp (~ 150MB / s, thậm chí không bằng 1/3 đĩa đơn)

Đầu ra cho df -hfdisk -l:

[root@192 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       441G  3.2G  415G   1% /
tmpfs            36G     0   36G   0% /dev/shm


[root@192 ~]# fdisk -l
Disk /dev/sda: 480.0 GB, 480047620096 bytes
255 heads, 63 sectors/track, 58362 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00040c3c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       58363   468795392   83  Linux

Đối với thử nghiệm này, có lẽ bạn nên chỉ định gấp đôi lượng RAM được cài đặt trong máy chủ.
ewwhite

Bạn có thể cho chúng tôi biết phiên bản phần sụn của bộ điều khiển Smart Array P410 không?
ewwhite

@ewwhite cảm ơn bạn đã nhận xét của bạn, phiên bản phần sụn là p410 (256MB, V6.40) và phiên bản rom là 8.40.41.00, lệnh iozone của tôi có sai không? Nếu có, bạn có thể vui lòng cho tôi biết lệnh đúng để kiểm tra không? bởi vì mọi thứ tôi thử tôi đều nhận được tốc độ đọc tính bằng GB
Ara

Có gì đó rất sai ở đây. Bạn chỉ nhận được ~ 122 MB / s ghi. Số liệu 4GB / s bạn thấy là các hoạt động từ bộ đệm, vì vậy chuỗi lệnh của bạn sẽ trông như thế iozone -t1 -i0 -i1 -i2 -r1m -s144g. :(
ewwhite

@ewwhite Cảm ơn bạn rất nhiều, tốc độ đọc bây giờ rất tốt (chi tiết như cập nhật 2 trong câu hỏi của tôi), nhưng tốc độ viết rất đáng thất vọng, bạn có gợi ý nào cho điều đó không?
Ara

Câu trả lời:


16

Mặc dù câu trả lời khác ở đây có một số điểm, các vấn đề cụ thể của bạn là do giới hạn nền tảng và cấu hình hệ điều hành:

  • Bạn bị giới hạn thông lượng khi sử dụng SSD SATA tiêu dùng trên bộ điều khiển RAID HP Smart Array P410 . Các đĩa SATA chạy ở tốc độ 3.0Gbps (3G) trên các bộ điều khiển này thay vì 6.0Gbps (6G). Vì vậy, đó là một rào cản ảnh hưởng đến tốc độ đọc của SSD Intel của bạn; 300MB / s hoặc ít hơn mỗi ổ đĩa.

  • Bộ điều khiển Smart Array P410 có các yêu cầu cụ thể và cách thực hành tốt nhất khi được sử dụng với SSD. Nói tóm lại, bộ điều khiển có khả năng 50.000 IOPS, vô hiệu hóa bộ tăng tốc mảng cho khối lượng SSD của bạn và hiệu suất vượt trội ở mức ~ 6 ổ đĩa.

  • Hiệu suất đĩa không phải lúc nào cũng là về tốc độ đọc / ghi tuần tự. Hãy thử điểm chuẩn với một công cụ thích hợp như iozone hoặc bonnie ++ . Bạn vẫn nhận được các lợi ích I / O ngẫu nhiên của nhiều ổ đĩa của mình.

  • Ở cấp độ hệ điều hành, cài đặt gói điều chỉnh và thiết lập cấu hình enterprise-performanceđể loại bỏ các rào cản ghi khỏi hệ thống tệp của bạn và đặt thang máy I / O phù hợp cho thiết lập của bạn. Điều này cũng được đề cập trong các câu hỏi khác ở đây .

  • Có vẻ như bạn đang sử dụng LVM. Điều đó cũng có thể có tác động ...

Đây là một báo cáo iozone cho G7 ProLiant chạy với bốn ổ SSD 6G dành cho người tiêu dùng (giảm tốc độ xuống 3G) trên cùng bộ điều khiển RAID HP Smart Array P410.

Bạn sẽ thấy ~ 470MB / s ghi và 650 MB / s + lần đọc.

[root@mdmarra /data/tmp]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Iozone: Performance Test of File I/O
                Version $Revision: 3.394 $
                Compiled for 64 bit mode.
                Build: linux 

        Record Size 1024 KB
        File size set to 58720256 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Output is in Kbytes/sec
        Each process writes a 58720256 Kbyte file in 1024 Kbyte records

        Children see throughput for  1 initial writers  =  478209.81 KB/sec
        Children see throughput for  1 rewriters        =  478200.84 KB/sec
        Children see throughput for  1 readers          =  677397.69 KB/sec
        Children see throughput for 1 re-readers        =  679523.88 KB/sec
        Children see throughput for 1 random readers    =  437344.78 KB/sec
        Children see throughput for 1 random writers    =  486254.41 KB/sec

Cảm ơn bạn rất nhiều, mô hình này là "DL160 G6", vâng đó là backplane tham gia :( tôi thậm chí sẽ được hạnh phúc với 600MB ở đây, nhưng 270MB là rất chậm, những gì bạn nghĩ tôi nên làm gì, làm phần mềm RAID giúp đỡ?
Ara

2
Được rồi, với DL160 G6, bạn nên có hai dây cáp đi từ bộ điều khiển RAID đến bảng nối ngược ổ đĩa ... 8 khe cắm ổ đĩa. Vấn đề của bạn ở đây là thông lượng ổ đĩa, phương pháp thử nghiệm của bạn và cài đặt của máy chủ. Hãy thử những gợi ý khác tôi liệt kê trong câu trả lời của tôi.
ewwhite

Một chút thú vị về P410 chỉ thực hiện 3G trên SATA và các thực tiễn tốt nhất cụ thể. Mod lên. (Tuy nhiên LVM không nên là một đối thủ nặng ký về tác động tiêu cực, cũng được ghi chú ở đây: unix.stackexchange.com/questions/7122/ trộm )
Roman

1
@Ara Không có bộ điều khiển SATA 6G cho ProLiant. Đó là điểm. SSD của bạn sẽ chỉ chạy ở tốc độ 3G trên nền tảng này trừ khi bạn sử dụng SSD SAS .
ewwhite 27/11/13

1
@Ara Software RAID sẽ yêu cầu kết nối với một bộ điều khiển khác, như HBA SAS (ví dụ LSI 9211-8i) ... nó sẽ cho phép bạn xem toàn bộ băng thông của các ổ đĩa, nhưng có những khía cạnh khác về hiệu suất SSD vượt quá thuần túy băng thông đọc / ghi tuần tự.
ewwhite

12

Trời ơi, bắt đầu từ đâu?

Có rất nhiều liên quan, và bạn cần một sự hiểu biết tốt về mọi thứ. Chỉ cần ném một loạt các đĩa vào bộ điều khiển RAID sẽ không mang lại kết quả mà bạn đang tìm kiếm.

Điều này không thể dễ dàng trả lời. Nhưng ít nhất, đây là danh sách những thứ bạn phải xem:

  • Bộ điều khiển thậm chí có thông lượng cần thiết? (-> Dữ liệu)
  • Bộ điều khiển thậm chí có đủ băng thông cho Máy chủ không (ngay cả ở v1.0, vì nó là x8)
  • Chipset của hệ thống có đủ thông lượng (Bộ điều khiển CPU) không? (không xác định)
  • Chiến lược viết nào bạn đã hướng dẫn cho Kiểm soát viên sử dụng? ( đây là những gì rất có thể đã cắn bạn )
  • Là mọi thứ được căn chỉnh (Phân vùng bắt đầu, LV, PV)?
  • Các kích thước khối có hài hòa không? (Kích thước sọc RAID, kích thước khối, khối FS, ...)
  • Hệ thống tập tin có được tối ưu hóa để thiết lập RAID không? (Cấp và kích thước khối)

Vì thông lượng của bạn so với toàn bộ RAID (không tính đến FS) thấp hơn đáng kể so với một đĩa đơn, nên có khả năng bạn đã thiết lập sai chiến lược ghi của mình; Bộ điều khiển có lẽ đang chờ tất cả các đĩa xác nhận ghi (và trừ khi bạn có RAM trên pin của bộ điều khiển, điều này có thể là lợi ích tốt nhất của bạn).


Điều này thực sự khó hơn tôi nghĩ, tôi nghĩ nó đơn giản như nâng cấp ram Raid Controller lên 512MB! , cảm ơn Roman, hãy để tôi kiểm tra một số điều bạn vừa nói với hy vọng tìm ra lý do
Ara

Hầu hết các cách trên là các chiến lược khắc phục sự cố hợp lệ cho các trường hợp cạnh, nhưng không áp dụng cho các chi tiết cụ thể của cấu hình của người đăng ban đầu. Bộ điều khiển ở đây có thông lượng và băng thông cần thiết, CPU vẫn ổn, bộ điều khiển RAID mặc định tỷ lệ bộ đệm 25:75 R / W (nên được tắt hoàn toàn để sử dụng SSD), CentOS6 căn chỉnh chính xác các phân vùng và có quá nhiều khả năng trừu tượng để có được kích thước khối "hài hòa". Ba vấn đề hiện tại là các đĩa 6G được điều chỉnh ở tốc độ 3G, các rào cản ghi hệ thống tập tin có thể được kích hoạt và thang máy I / O là CFQ mặc định.
ewwhite 27/11/13

1
Rất tiếc, mô hình máy chủ không được ghi nhận tại thời điểm trả lời của tôi. Tốt để biết về điều tiết. Tôi nghĩ rằng các rào cản và CFQ không tốn nhiều chi phí trong "điểm chuẩn" cụ thể này, nhưng dù sao thông tin có giá trị.
La Mã

@Roman Xin lỗi tôi đã không đề cập đến mô hình trước đó, tôi thực sự đánh giá cao sự giúp đỡ của bạn, tôi đang thử cả hướng dẫn của bạn và ewwhite để đạt 500-600 MB, tôi đoán đó là tốc độ cao nhất tôi có thể đạt được với giới hạn 3G này
Ara

1
Không có vấn đề gì cả. Đảm bảo bạn theo các liên kết trong câu trả lời của ewwhite, vì có những điều cụ thể phải làm với P410 kết hợp với SSD. Ngoài ra, làm cho bạn rằng bạn phân phối bốn đĩa đồng đều trên hai kết nối từ bảng nối đa năng đến bộ điều khiển.
La Mã
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.