(9)ceph pool性能テスト

6705 ワード

Cephには、rados bench RADOSストレージクラスタ上でパフォーマンスベンチマークテストを実行するコマンドが含まれています.このコマンドは、書き込みテストと2種類の読み取りテストを実行します.--No-cleanupは、読み書きパフォーマンスをテストする際に重要です.デフォルトでは、rados benchコマンドはストレージプールに書き込まれたオブジェクトを削除します.これらのオブジェクトの後ろに残ると、2つの読み取りテストが許可され、順序とランダムな読み取り性能が測定されます.
(1)準備作業を行い、すべてのファイルシステムキャッシュをクリアする[root@node141 mnt]# echo 3 >/proc/sys/vm/drop_caches [root@node141 mnt]# sync
(2)新しいストレージプールを作成する[root@node141 mnt]# ceph osd pool create rbd 128 128
(3)rbdの書き込み性能をテストし、--no-cleanupパラメータを追加する
[root@node141 mnt]# rados bench -p rbd 10 write  --no-cleanup 
hints = 1
Maintaining 16 concurrent writes of 4194304 bytes to objects of size 4194304 for up to 10 seconds or 0 objects
Object prefix: benchmark_data_node141_28363
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
    0       0         0         0         0         0           -           0
    1      16        81        65   259.999       260    0.107901    0.200157
    2      16       161       145   289.976       320    0.190659    0.215092
    3      16       252       236   314.632       364   0.0807696    0.193549
    4      16       351       335   334.958       396    0.191582    0.185652
    5      16       445       429   343.157       376    0.158618    0.178393
    6      16       548       532   354.621       412    0.162274    0.178178
    7      16       652       636   363.378       416    0.190742    0.173784
    8      16       753       737   368.448       404     0.15392    0.170866
    9      16       863       847   376.391       440    0.103038    0.169129
   10      16       964       948   379.144       404    0.138741    0.167306
Total time run:         10.1023
Total writes made:      965
Write size:             4194304
Object size:            4194304
Bandwidth (MB/sec):     382.09
Stddev Bandwidth:       53.3267
Max bandwidth (MB/sec): 440
Min bandwidth (MB/sec): 260
Average IOPS:           95
Stddev IOPS:            13.3317
Max IOPS:               110
Min IOPS:               65
Average Latency(s):     0.167422
Stddev Latency(s):      0.0765119
Max latency(s):         0.668499
Min latency(s):         0.0569634

(4)テストして、10秒の順番で読み取る:
[root@node141 mnt]# rados bench -p rbd 10 seq
hints = 1
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
    0       0         0         0         0         0           -           0
    1      16       257       241   963.679       964   0.0607106   0.0623843
    2      16       549       533   1065.73      1168   0.0450988   0.0583824
    3      16       835       819   1091.76      1144    0.044447    0.057111
Total time run:       3.47417
Total reads made:     965
Read size:            4194304
Object size:          4194304
Bandwidth (MB/sec):   1111.06
Average IOPS:         277
Stddev IOPS:          27.8747
Max IOPS:             292
Min IOPS:             241
Average Latency(s):   0.056581
Max latency(s):       0.388605
Min latency(s):       0.015351

(5)10秒ランダム読み書き性能をテストする
[root@node141 mnt]# rados bench -p rbd 10 rand
hints = 1
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
    0       0         0         0         0         0           -           0
    1      16       408       392   1566.56      1568   0.0715088    0.038812
    2      16       794       778   1554.08      1544   0.0219942   0.0396005
    3      16      1211      1195   1591.93      1668    0.125987   0.0389289
    4      15      1604      1589    1587.9      1576   0.0497586   0.0392412
    5      16      2013      1997   1596.67      1632  0.00512184   0.0388821
    6      16      2415      2399   1598.52      1608    0.146983   0.0389842
    7      16      2806      2790   1593.56      1564    0.110503   0.0391283
    8      16      3186      3170   1584.34      1520   0.0226104   0.0393014
    9      15      3598      3583   1591.83      1652   0.0117805   0.0392624
   10      16      3965      3949   1579.03      1464   0.0752829   0.0395739
Total time run:       10.0536
Total reads made:     3965
Read size:            4194304
Object size:          4194304
Bandwidth (MB/sec):   1577.54
Average IOPS:         394
Stddev IOPS:          15.6308
Max IOPS:             417
Min IOPS:             366
Average Latency(s):   0.0397174
Max latency(s):       0.353027
Min latency(s):       0.00414538

(6)同時読み取りと書き込みの数を増やすには、-tを16フィールドにデフォルト設定するオプションを使用します.-bパラメータは、書き込み中のオブジェクトのサイズを調整します.デフォルトのオブジェクトのサイズは4 MBです.安全の最大対象は16 MBである.--run-nameオプションを追加して、データムテスト中に書き込まれるオブジェクトの名前を制御します.複数のrados benchコマンドは、実行コマンドごとにrun-nameラベルのインスタンスを変更することによって同時に実行できます.これにより、複数のクライアントが同じオブジェクトにアクセスしようとし、異なるクライアントが異なるオブジェクトにアクセスできるようにするときに発生する可能性のあるI/Oエラーを防止できます.--run-nameは、実際の世界のワークロードをシミュレートしようとするときにも役立ちます.例:
[root@node141 mnt]# rados bench -p rbd 10 write  -t 4 --run-name zabbix71
hints = 1
Maintaining 4 concurrent writes of 4194304 bytes to objects of size 4194304 for up to 10 seconds or 0 objects
Object prefix: benchmark_data_node141_28450
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
    0       0         0         0         0         0           -           0
    1       4        40        36   143.992       144    0.065704    0.103059
    2       4        86        82   163.981       184   0.0763531   0.0955013
    3       4       126       122   162.641       160    0.106746   0.0953542
    4       4       173       169   168.972       188   0.0872597   0.0934176
    5       4       218       214   171.171       180    0.170851   0.0927783
    6       4       255       251   167.305       148   0.0943133    0.093864
    7       4       294       290   165.686       156   0.0976048   0.0959294
    8       4       340       336   167.971       184   0.0882485   0.0946923
    9       4       386       382   169.748       184   0.0703278   0.0933611
   10       4       430       426    170.37       176   0.0623777   0.0933391
Total time run:         10.1109
Total writes made:      431
Write size:             4194304
Object size:            4194304
Bandwidth (MB/sec):     170.51
Stddev Bandwidth:       16.6747
Max bandwidth (MB/sec): 188
Min bandwidth (MB/sec): 144
Average IOPS:           42
Stddev IOPS:            4.16867
Max IOPS:               47
Min IOPS:               36
Average Latency(s):     0.0935851
Stddev Latency(s):      0.0433054
Max latency(s):         0.579434
Min latency(s):         0.0533891
Cleaning up (deleting benchmark objects)
Removed 431 objects
Clean up completed and total clean up time :1.62203

(7)rados benchコマンドで作成したデータを削除[root@node141 mnt]# rados -p rbd cleanupRemoved 965 objects