HP DL380 G7 + Mảng thông minh P410i + sysbench -> hiệu suất đột kích kém 10


8

Tôi có hệ thống đang chạy với mức sử dụng IO thấp:

  1. HP DL380G7 (RAM 24gb)
  2. Smart Array p410i với bộ đệm ghi được hỗ trợ battary 512mb
  3. Ổ đĩa 6x SAS 10k vòng / phút 146gb trong RAID10
  4. Debian Squeze linux, ext4 + LVM, hpacucli đã cài đặt

iostat (cciss / c0d1 = array raid10, dm-7 = 60G lvm partition cho thử nghiệm):

Thiết bị: rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz đang chờ svctm% produc
cciss / c0d0 0,00 101,20 0,00 6,20 0,00 0,42 138,58 0,00 0,00 0,00 0,00
cciss / c0d1 0,00 395,20 3,20 130,20 0,18 2,05 34,29 0,04 0,26 0,16 2,08
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 3,20 391,00 0,18 1,53 8,87 0,04 0,11 0,05 1,84
dm-3 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-4 0,00 0,00 0,00 106,80 0,00 0,42 8,00 0,00 0,00 0,00 0,00
dm-5 0,00 0,00 0,00 0,60 0,00 0,00 8,00 0,00 0,00 0,00 0,00
dm-6 0,00 0,00 0,00 2,80 0,00 0,01 8,00 0,00 0,00 0,00 0,00
dm - 1 0,00 0,00 0,00 132,00 0,00 0,52 8,00 0,00 0,02 0,01 0,16
dm-7 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-8 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

hpacucli "ctrl tất cả hiển thị cấu hình"

Mảng thông minh P410i trong Khe 0 (Đã nhúng) (sn: 5001438011FF14E0)

   mảng A (SAS, Không gian chưa sử dụng: 0 MB)


      logicdrive 1 (136,7 GB, RAID 1, OK)

      vật lý 1I: 1: 1 (cổng 1I: hộp 1: bay 1, SAS, 146 GB, OK)
      vật lý 1I: 1: 2 (cổng 1I: hộp 1: bay 2, SAS, 146 GB, OK)

   mảng B (SAS, Không gian chưa sử dụng: 0 MB)


      logicdrive 2 (410.1 GB, RAID 1 + 0, OK)

      vật lý 1I: 1: 3 (cổng 1I: hộp 1: bay 3, SAS, 146 GB, OK)
      vật lý 1I: 1: 4 (cổng 1I: hộp 1: bay 4, SAS, 146 GB, OK)
      vật lý 2I: 1: 5 (cổng 2I: hộp 1: bay 5, SAS, 146 GB, OK)
      vật lý 2I: 1: 6 (cổng 2I: hộp 1: bay 6, SAS, 146 GB, OK)
      vật lý 2I: 1: 7 (cổng 2I: hộp 1: bay 7, SAS, 146 GB, OK)
      vật lý 2I: 1: 8 (cổng 2I: hộp 1: bay 8, SAS, 146 GB, OK)

   SEP (ID nhà cung cấp PMCSIERA, Model SRC 8x6G) 250 (WWID: 5001438011FF14EF)

hpacucli "ctrl tất cả hiển thị trạng thái"

Mảng thông minh P410i trong Khe 0 (Đã nhúng)
   Trạng thái điều khiển: OK
   Trạng thái bộ nhớ cache: OK
   Tình trạng pin / tụ điện: OK

Lệnh Sysbench

sysbench --init-rng = on --test = fileio --num-thread = 16 --file-num = 128 --file-block-size = 4K --file-Total-size = 54G --file-test -mode = rndrd --file-fsync-freq = 0 --file-fsync-end = tắt chạy --max-request = 30000

Kết quả Sysbench

sysbench 0.4.12: điểm chuẩn đánh giá hệ thống đa luồng

Chạy thử nghiệm với các tùy chọn sau:
Số lượng chủ đề: 16
Khởi tạo trình tạo số ngẫu nhiên từ bộ đếm thời gian.


Cờ mở tập tin bổ sung: 0
128 tệp, mỗi tệp 432Mb
Tổng kích thước tệp 54Gb
Kích thước khối 4Kb
Số lượng yêu cầu ngẫu nhiên cho IO ngẫu nhiên: 30000
Tỷ lệ đọc / ghi cho kiểm tra IO ngẫu nhiên kết hợp: 1,50
Sử dụng chế độ I / O đồng bộ
Làm bài kiểm tra đọc ngẫu nhiên
Chủ đề bắt đầu!
Làm xong.

Các thao tác được thực hiện: 30000 Đọc, 0 Viết, 0 Khác = 30000 Tổng cộng
Đọc 117,19Mb Viết 0b Tổng số đã chuyển 117,19Mb (935,71Kb / giây)
  233,93 Yêu cầu / giây được thực hiện

Tóm tắt thực hiện kiểm tra:
    tổng thời gian: 128,2455s
    tổng số sự kiện: 30000
    tổng thời gian thực hiện bởi sự kiện thực hiện: 2051.5525
    thống kê theo yêu cầu:
         tối thiểu: 0,00ms
         trung bình: 68,39ms
         tối đa: 2010,15ms
         khoảng 95 phần trăm: 660,40ms

Chủ đề công bằng:
    sự kiện (avg / stddev): 1875.0000 / 111,75
    thời gian thực hiện (avg / stddev): 128.2220 / 0,02

iter trong quá trình kiểm tra

avg-cpu:% người dùng% đẹp% hệ thống% iowait% ăn cắp% nhàn rỗi
           0,00 0,01 0,10 31,03 0,00 68,86

Thiết bị: rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz đang chờ svctm% produc
cciss / c0d0 0,00 0,10 0,00 0,60 0,00 0,00 9,33 0,00 0,00 0,00 0,00
cciss / c0d1 0,00 46,30 208,50 1,30 0,82 0,10 8,99 29,03 119,75 4,77 100,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 51,60 0,00 0,20 8,00 49,72 877,26 19,38 100,00
dm-3 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-4 0,00 0,00 0,00 0,70 0,00 0,00 8,00 0,00 0,00 0,00 0,00
dm-5 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-6 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 100,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 100,00
dm-7 0,00 0,00 208,50 0,00 0,82 0,00 8,04 25,00 75,29 4,80 100,00
dm-8 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

Bonnie ++ v1.96

cmd: / usr / sbin / bonnie ++ -c 16 -n 0

Viết một byte tại một thời điểm ... xong
Viết thông minh ... xong
Viết lại ... xong
Đọc một byte tại một thời điểm ... xong
Đọc thông minh ... xong
bắt đầu ... xong ... xong ... xong ... xong ... xong ... xong ...
Phiên bản 1.96 ------ Đầu ra tuần tự ------ - Đầu vào tương đương- - Cộng đồng-
Đồng thời 16 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seek--
Kích thước máy K / giây% CP K / giây% CP K / giây% CP K / giây% CP K / giây% CP / giây% CP
seo-db 48304M 819 99 188274 17 98395 8 2652 78 201280 8 265.2 1
Độ trễ 14899us 726ms 15194ms 100ms 122ms 665ms

1,96,1,96 ,,,, 14899us, 726ms, 15194ms, 100ms, 122ms, 665ms ,,,,,,,

Câu hỏi

Vì vậy, sysbench cho thấy 234 lần đọc ngẫu nhiên mỗi giây.
Tôi hy vọng nó sẽ có ít nhất 400.
Điều gì có thể là nút cổ chai? LVM?
Một hệ thống khác với các ổ đĩa mdadm raid1 + 2x 7200rpm hiển thị hơn 200 lần đọc ngẫu nhiên mỗi giây ...

Cảm ơn vì bất kì sự giúp đỡ!


Kích thước sọc là gì? iostat trông như thể sysbench chỉ hoạt động trên một ổ đĩa vật lý.
Dmitri Chubarov

hpacucli nói, kích thước dải là 256k. Các thiết bị DM-x từ iostat không phải là ổ đĩa vật lý, mà là phân vùng lvm. DM-7 là phân vùng 60gb lvm, nơi tôi đã chạy sysbench.
Oleg Golovanov

Chính xác thì bạn đang thử nghiệm gì với sysbenchdòng lệnh đặc biệt này ? Bạn đang mô phỏng một kịch bản sử dụng trong thế giới thực?
ewwhite

Tôi đang mô phỏng cơ sở dữ liệu PostgreSql, bên trong sử dụng các khối 4kb. Ứng dụng của tôi tạo ra rất nhiều lần đọc / ghi ngẫu nhiên trên các tệp dữ liệu lớn (ứng dụng đã dừng tại thời điểm kiểm tra)
Oleg Golovanov

Câu trả lời:


10

Hệ thống của bạn chắc chắn hoạt động kém dựa trên thông số kỹ thuật phần cứng của bạn. Tôi đã tải sysbenchtiện ích trên một vài máy chủ HP ProLiant DL380 G6 / G7 nhàn rỗi chạy CentOS 5/6 để kiểm tra hiệu suất của chúng. Đây là những phân vùng cố định bình thường thay vì LVM. (Tôi thường không sử dụng LVM, vì tính linh hoạt được cung cấp bởi bộ điều khiển HP Smart Array)

DL380 G6 có mảng RAID 1 + 0 6 đĩa trên bộ điều khiển Smart Array P410 với 512MB bộ nhớ cache được hỗ trợ bằng pin. DL380 G7 có mảng SSD SLC dành cho doanh nghiệp 2 đĩa. Các hệ thống tập tin là XFS . Tôi đã sử dụng cùng một dòng lệnh sysbench như bạn đã làm:

sysbench --init-rng=on --test=fileio --num-threads=16 --file-num=128 --file-block-size=4K --file-total-size=54G --file-test-mode=rndrd --file-fsync-freq=0 --file-fsync-end=off --max-requests=30000 run

Kết quả của tôi là 1595 lần đọc ngẫu nhiên mỗi giây trên 6 đĩa.
Trên SSD, kết quả là 39047 lần đọc ngẫu nhiên mỗi giây . Kết quả đầy đủ nằm ở cuối bài này ...

  • Đối với thiết lập của bạn, điều đầu tiên nhảy ra với tôi là kích thước của phân vùng thử nghiệm của bạn. Bạn sắp lấp đầy phân vùng 60 GB với 54GB tệp kiểm tra. Tôi không chắc liệu ext4 có vấn đề hoạt động ở mức 90 +% hay không, nhưng đó là điều nhanh nhất để bạn sửa đổi và kiểm tra lại. (hoặc sử dụng một bộ dữ liệu thử nghiệm nhỏ hơn)

  • Ngay cả với LVM, có một số tùy chọn điều chỉnh có sẵn trên thiết lập bộ điều khiển / đĩa này. Kiểm tra đọc trước và thay đổi cài đặt lịch trình I / O từ cfq mặc định sang hạn chót hoặc noop là hữu ích. Vui lòng xem câu hỏi và câu trả lời tại: Linux - điều chỉnh bộ điều khiển RAID phần cứng trong thế giới thực (scsi và cciss)

  • Tỷ lệ bộ đệm bộ điều khiển RAID của bạn là gì? Tôi thường sử dụng số dư ghi / đọc 75% / 25%. Đây phải là một bài kiểm tra nhanh. Mảng 6 đĩa hoàn thành trong 18 giây. Bạn mất hơn 2 phút.

  • Bạn có thể chạy thử nghiệm bonnie ++ hoặc iozone trên phân vùng / mảng đang đề cập không? Sẽ rất hữu ích để xem nếu có bất kỳ nút thắt nào khác trên hệ thống. Tôi không quen thuộc với sysbench , nhưng tôi nghĩ những công cụ khác này sẽ cung cấp cho bạn cái nhìn tổng quan hơn về các khả năng của hệ thống.

  • Tùy chọn gắn kết hệ thống tập tin có thể tạo ra một sự khác biệt nhỏ, nhưng tôi nghĩ vấn đề có thể sâu sắc hơn thế ...

đầu ra hpacucli ...

Smart Array P410i in Slot 0 (Embedded)    (sn: 50123456789ABCDE)

   array A (SAS, Unused Space: 0 MB)

      logicaldrive 1 (838.1 GB, RAID 1+0, OK)

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 300 GB, OK)
      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 300 GB, OK)
      physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 300 GB, OK)
      physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 300 GB, OK)
      physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 300 GB, OK)
      physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 300 GB, OK)

   SEP (Vendor ID PMCSIERA, Model  SRC 8x6G) 250 (WWID: 50123456789ABCED)

sysbench DL380 G6 kết quả 6 đĩa ...

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 16
Initializing random number generator from timer.

Extra file open flags: 0
128 files, 432Mb each
54Gb total file size
Block size 4Kb
Number of random requests for random IO: 30000
Read/Write ratio for combined random IO test: 1.50
Using synchronous I/O mode
Doing random read test
Threads started!
Done.

Operations performed:  30001 Read, 0 Write, 0 Other = 30001 Total
Read 117.19Mb  Written 0b  Total transferred 117.19Mb  (6.2292Mb/sec)
 1594.67 Requests/sec executed

Test execution summary:
    total time:                          18.8133s
    total number of events:              30001
    total time taken by event execution: 300.7545
    per-request statistics:
         min:                                  0.00ms
         avg:                                 10.02ms
         max:                                277.41ms
         approx.  95 percentile:              25.58ms

Threads fairness:
    events (avg/stddev):           1875.0625/41.46
    execution time (avg/stddev):   18.7972/0.01

kết quả SSD sysbench DL380 G7 ...

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 16
Initializing random number generator from timer.


Extra file open flags: 0
128 files, 432Mb each
54Gb total file size
Block size 4Kb
Number of random requests for random IO: 30000
Read/Write ratio for combined random IO test: 1.50
Using synchronous I/O mode
Doing random read test
Threads started!
Done.

Operations performed:  30038 Read, 0 Write, 0 Other = 30038 Total
Read 117.34Mb  Written 0b  Total transferred 117.34Mb  (152.53Mb/sec)
39046.89 Requests/sec executed

Test execution summary:
    total time:                          0.7693s
    total number of events:              30038
    total time taken by event execution: 12.2631
    per-request statistics:
         min:                                  0.00ms
         avg:                                  0.41ms
         max:                                  1.89ms
         approx.  95 percentile:               0.57ms

Threads fairness:
    events (avg/stddev):           1877.3750/15.59
    execution time (avg/stddev):   0.7664/0.00

Cảm ơn câu trả lời chi tiết! Kết quả của bạn thật tuyệt vời ... >> Tôi thường không sử dụng LVM, đặc biệt là với tính linh hoạt được cung cấp bởi bộ điều khiển RAID HP Bạn muốn nói đến loại linh hoạt nào? >> Tỷ lệ bộ đệm bộ điều khiển RAID của bạn là gì? 75/25, mặc định) >> Tôi nghĩ vấn đề còn sâu sắc hơn thế ... yup! Tôi đã thêm kết quả bonnie ++ v1.96 vào cuối bài viết chính của mình. Có vẻ như kết quả không được tốt lắm :( Lúc đầu, tôi sẽ cố gắng thoát khỏi LVM và chạy thử nghiệm lần nữa. Nếu điều đó không có ích - tôi cho rằng, có điều gì đó không ổn với bộ điều khiển đột kích.
Oleg Golovanov

Bạn có thể hiển thị bonnie++dòng lệnh của bạn ?
ewwhite

Xin lỗi, lỗi của tôi. Dòng lệnh: / usr / sbin / bonnie ++ -c 16 -n 0
Oleg Golovanov

3
Tôi đã thay đổi lịch trình từ cfq sang noop và kết quả điểm chuẩn tăng lên đáng kể! )) Bây giờ sysbench hiển thị cho tôi hơn 1500 lần đọc ngẫu nhiên / giây ... Cảm ơn lớn, rất lớn :)
Oleg Golovanov

1
Cũng thử deadline... Dưới tải DB, nó có thể chạy tốt hơn noop, cộng với có một số điều chỉnh bổ sung trong /sys/block/cciss1/queue/iosched/nếu bạn sử dụng deadline. Xem bài đăng này để biết thêm chi tiết về điều chỉnh tốt hơn. Tôi đã có thể có được bài kiểm tra đó lên tới 2600 lần đọc ngẫu nhiên / giây bằng cách làm như vậy.
ewwhite
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.