使用率の低いシステムを実行していますIO使用率:
iostat(cciss/c0d1 = raid10アレイ、dm-7 =テスト用60G lvmパーティション):
デバイス:rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm%util 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 all show config"
SmartアレイP410iをスロット0(組み込み)(sn:5001438011FF14E0) アレイA(SAS、未使用スペース:0 MB) 論理ドライブ1(136.7 GB、RAID 1、OK) 物理ドライブ1I:1:1(ポート1I:ボックス1:ベイ1、SAS、146 GB、OK) 物理ドライブ1I:1:2(ポート1I:ボックス1:ベイ2、SAS、146 GB、OK) アレイB(SAS、未使用スペース:0 MB) logicaldrive 2(410.1 GB、RAID 1 + 0、OK) physicaldrive 1I:1:3(port 1I:box 1:bay 3、SAS、146 GB、OK) 物理ドライブ1I:1:4(ポート1I:ボックス1:ベイ4、SAS、146 GB、OK) 物理ドライブ2I:1:5(ポート2I:ボックス1:ベイ5、SAS、146 GB、OK) 物理ドライブ2I:1:6(ポート2I:ボックス1:ベイ6、SAS、146 GB、OK) 物理ドライブ2I :1:7(ポート2I:ボックス1:ベイ7、SAS、146 GB、OK) 物理ドライブ2I:1:8(ポート2I:ボックス1:ベイ8、SAS、146 GB、OK) SEP(ベンダーID PMCSIERA、モデルSRC 8x6G)250(WWID:5001438 011FF14EF)
hpacucli "ctrl all show status"
スロット0のSmartアレイP410i(組み込み) コントローラステータス:OK キャッシュステータス:OK バッテリー/コンデンサステータス:OK
Sysbenchコマンド
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 run --max-requests = 30000
Sysbenchの結果
sysbench 0.4.12:マルチスレッドシステム評価ベンチマーク 次のオプションを使用してテストを実行: スレッド数:16 初期化ランダムタイマーからの数値ジェネレーター。 追加ファイルオープンフラグ:0 128ファイル、各432Mb 54Gb合計ファイルサイズ ブロックサイズ4Kb ランダムIOのランダムリクエスト数:30000 ランダムを組み合わせた場合の読み取り/書き込み比率IO test:1.50 /Oモード ランダム読み取りテストを実行しています スレッドが開始しました! 完了しました。 実行された操作:30000読み取り、0書き込み、0その他= 30000合計 読み取り117.19Mb書き込み0b転送合計117.19Mb(935.71Kb /秒) 233.93リクエスト/秒実行 テスト実行要約: 合計時間:128.2455s イベントの合計数:30000 イベント実行に要した合計時間:2051.5525 リクエストごとの統計: 最小:0.00ms 平均:68.39ms 最大:2010.15ms 約95パーセンタイル:660.40ms スレッドの公平性: イベント(avg/stddev):1875.0000/111.75 実行時間(avg/stddev):128.2220/0.02
テスト中のiostat
avg-cpu:%user%Nice%system%iowait%steal%idle 0,00 0,01 0,10 31,03 0,00 68,86 デバイス:rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm%util 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 一度に1バイトを書き込む...完了 インテリジェントに書き込む...完了 書き換え中...完了 一度に1バイトの読み取り中...完了 インテリジェントに読み取り中...完了 開始...完了... .done ... done ... done ... done ... バージョン1.96 ------順次出力-------順次入力--ランダム- Concurrency 16 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks- マシンサイズK /秒%CP K /秒%CP K /秒%CP K /秒%CP K /秒%CP /秒%CP seo-db 48304M 819 99 188274 17 98395 8 2652 78 201280 8 265.2 1 レイテンシ14899us 726ms 15194ms 100ms 122ms 665ms 1.96,1.96、seo-db、16,1337541936,48304M , 819,99,188274,17,98395,8,2652,78,201280,8,265.2,1 , , 14899us、726ms、15194ms、100ms、122ms、665ms ,
質問
したがって、sysbenchは毎秒234回のランダム読み取りを示しました。
少なくとも400になると思います。
ボトルネックになるものは何ですか? LVM?
mdadm raid1 + 2x 7200rpmドライブを備えた別のシステムは、毎秒200以上のランダム読み取りを示します...
助けてくれてありがとう!
ご使用のシステムは、ハードウェアの仕様に基づいて確実にパフォーマンスが低下しています。 CentOS 5/6を実行しているいくつかのアイドル状態のHP ProLiant DL380 G6/G7サーバーにsysbench
ユーティリティをロードして、パフォーマンスを確認しました。これらはLVMではなく通常の固定パーティションです。 (HP Smartアレイコントローラーが提供する柔軟性のため、通常はLVMを使用しません)
DL380 G6は、512MBのバッテリバックアップ式キャッシュを備えたSmartアレイP410コントローラーに6ディスクのRAID 1 + 0アレイを備えています。 DL380 G7には2ディスクのエンタープライズSLC SSDアレイがあります。ファイルシステムは [〜#〜] xfs [〜#〜] です。私はあなたがしたのと同じsysbenchコマンドラインを使いました:
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
私の結果は、6ディスク全体で1595ランダム読み取り/秒でした。
SSDでは、結果は39047ランダムリード/秒でした。完全な結果はこの投稿の最後にあります...
あなたのセットアップに関して言えば、私に飛びつくのはテスト区画のサイズです。 60 GBのパーティションを54 GBのテストファイルでほぼいっぱいにしています。 ext4で90 +%のパフォーマンスに問題があるかどうかはわかりませんが、修正して再テストするのが最も早い方法です。 (またはより少ないテストデータセットを使用)
LVMを使用する場合でも、このコントローラー/ディスク設定で使用できるいくつかのチューニングオプションがあります。先読みを確認して I/Oスケジューラ 設定をデフォルトの cfq から deadline または noop に変更すると、役立つ。次の質問と回答を参照してください。 Linux-実際のハードウェアRAIDコントローラーのチューニング(scsiおよびcciss)
RAIDコントローラのキャッシュ比率はどれくらいですか?私は通常75%/ 25%の書き込み/読み取りバランスを使用します。これは簡単なテストです。 6ディスクアレイは18秒で完了しました。あなたのものは2分以上かかりました。
問題のパーティション/アレイで bonnie ++ または iozone テストを実行できますか?システムに他のボトルネックがあるかどうかを確認すると役立ちます。私は sysbench に精通していませんでしたが、これらの他のツールを使用すると、システムの機能の概要がよくわかると思います。
ファイルシステムのマウントオプションによって多少の違いが生じる可能性がありますが、問題はそれよりも深い可能性があります...
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 6ディスクの結果...
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
sysbench DL380 G7 SSDの結果...
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