Upload
oss
View
2.593
Download
3
Embed Size (px)
DESCRIPTION
Ceph FS/RBDの性能比較
Citation preview
Ceph をベンチマークしてみました
2014/4/4
Open Programmable Infrastructure Environment
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 1
Cephとは
CephFS
POSIX互換ファイルシステム
Kernel-client及びFUSE-clientから使
用できる
Librados C, C++, java, Python, Ruby, PHP からRADOSに アクセスできるAPI ライブラリ
RADOS
RADOSGW (RADOS Gateway)
AWS S3及び
OpenStack SWIFT互換のREST APIを提供するhttpプロキ
シ
RBD (RADOS Block
Device)
LinuxカーネルからRADOSをブロックデバイスとして使用
できる
アプリケーション ホスト/VM クライアント
Monitor MDS Monitor MDS
OSD OSD
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 2
CephFS (Posix file system)
kernel Device driver
vfs
FUSE
File system
ブロック デバイス
User space Kernel space
Ceph-fuse Client Application
MDS
Monitors
OSDs
vfs
ブロックデバイスドライバ
vfs
User space Kernel space
Ceph-kernel Client Application
RADOS
*CephFSは、現時点(V.0.78)で本番稼働での使用は推奨されていない。 14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 3
Ceph RBD (Block Device)
librbd
vfs
virtio
File system
ブロック デバイス
物理システム
Application
Monitors
OSDs
vfs
ブロックデバイスドライバ
vfs
librados Application
RADOS
Qem
u-kv
m-li
bvirt
librbd
librados
仮想システム
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 4
Ceph RADOSGW (Object Gateway)
librgw
File system
ブロック デバイス
Monitors
OSDs
vfs
ブロックデバイスドライバ
S3 API librados
Application RADOS
*RADOSGWは、マルチサイト非同期レプリケーションをサポート
http
d
SWIFT API
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 5
ベンチマーク目的
l 共有ファイルサーバ/VMイメージストアとして、CephFS/RBDの性能差を検証、Object Storageは実施しなかった
l 比較のために、ローカルHDDとNFSも検証した l 限られたHW環境のため、スケールアウトの検証は行っていない
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 6
テスト環境
l HW環境
l NW環境
l SW環境 l CentOS6.5(クライアントのみkernel3.1) l Ceph 0.78
環境 HW NW ファイルシステム
ローカルHDD HP ML110 G7 Intel Celeron G530 @ 2.40GHz 1p/2c HP 250GB SATA disk x1 1Gbps
ext3
NFS Nfs v4
Ceph exr4
RTT ms Mbps Nuttcpでの計測 0.418 928.5
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 7
ベンチマークテスト内容
l クライアントは、KVMホスト上のVMにCephクライアントとベンチマークプログラムを配置
l 但し、ローカルHDDのテストのみ物理サーバ上でローカルに実施
l Cephクライアントは、CentOSのデフォルトkernelでは動かないので、3.1に変更
l ベンチマークプログラムは、fioを使用し、fabricで自動実行
l Ceph基本設定 l pool 2 rbd(Block Device) l ceph osd pool set data size 3 l ceph osd pool set data min_size 2
l MonitorとMDSは冗長化(3台)しOSDと同居 l OSDのストライピングは行わない l OS/Cephともデフォルト設定で実施し、特別なチューニングは実施しなかった
Mon
Ceph pool
同期 レプリケーション
MDS
OSD
Mon
MDS
OSD
Mon
MDS
OSD
fio
fabric
Ceph client
同期 レプリケーション
Kvm host
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 8
シナリオ1: DBなどアプリケーションデータ ランダム W1 : R2 8KB Block, 64KB File
DBなどアプリケーションデータ ランダム W1 : R2 8 KB1 Block, 64KB File
シナリオ1 Read KB/s
10並列/10ファイル
100並列/10ファイル
100並列/100ファイル
1000並列/100ファイル
300並列/300ファイル
シナリオ1 Write KB/s
10並列/10ファイル
100並列/10ファイル
100並列/100ファイル
1000並列/100ファイル
300並列/300ファイル
DBなどアプリケーションデータ ランダム W1 : R2 8 KB1 Block, 64KB File
ローカルファイル2 NFS
1,478 2,162
2,523 2,515
1,220 2,149
1,347 2,315
8,610 2,043
ローカルファイル2 NFS
609 890
1,021 1,023
574 997
635 1,065
4,015 969
DBなどアプリケーションデータ ランダム W1 : R2 8 KB1 Block, 64KB File
Ceph_Kernel Driver Ceph_fuse Ceph_Block Device
292 4,223 2,052
252 4,358 1,955
194 2,950 1,172
185 2,690 1,145
197 2,137 1,357
Ceph_Kernel Driver Ceph_fuse Ceph_Block Device
118 1,704 844
102 1,759 807
89 1,357 552
85 1,243 538
92 1,002 646
!"#$!!!"%$!!!"&$!!!"'$!!!"($!!!")$!!!"*$!!!"+$!!!",$!!!"#!$!!!"
#!並列/#!ファ
イル
#!!並列/
#!ファイル
#!!並列/
#!!ファイル
#!!!並列/
#!!ファイル
&!!並列/
&!!ファイル
ローカルファイル2
-./"
01234516718"96:;16"
01234<=>1"
01234?8@AB"91;:A1"
!"
(!!"
#$!!!"
#$(!!"
%$!!!"
%$(!!"
&$!!!"
&$(!!"
'$!!!"
'$(!!"
#!並列/#!ファ
イル
#!!並列/
#!ファイル
#!!並列/
#!!ファイル
#!!!並列/
#!!ファイル
&!!並列/
&!!ファイル
ローカルファイル2
-./"
01234516718"96:;16"
01234<=>1"
01234?8@AB"91;:A1"
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 9
シナリオ2: ログファイル シーケンシャル W1 :R 0 64KB Block, 1MB File
ログファイル シーケンシャル W1 :R 0 64KB Block, 1MB File
シナリオ2 Write KB/s
10並列/10ファイル
100並列/10ファイル
100並列/100ファイル
1000並列/100ファイル
300並列/300ファイル
ログファイル シーケンシャル W1 :R 0 64KB Block, 1MB File
ローカルファイル2 NFS
9,989 4,843
28,947 4,948
11,298 5,418
35,094 5,451
6,689 4,949
ログファイル シーケンシャル W1 :R 0 64KB Block, 1MB File
Ceph_Kernel Driver Ceph_fuse Ceph_Block Device
856 66,323 14,622
851 68,183 25,004
670 23,126 11,144
670 25,485 11,369
888 6,274 7,345
!"
#!$!!!"
%!$!!!"
&!$!!!"
'!$!!!"
(!$!!!"
)!$!!!"
*!$!!!"
+!$!!!"
#!並列/#!ファ
イル
#!!並列/
#!ファイル
#!!並列/
#!!ファイル
#!!!並列/
#!!ファイル
&!!並列/
&!!ファイル
ローカルファイル2
,-."
/0123405607"859:05"
/0123;<=0"
/0123>7?@A"80:9@0"
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 10
シナリオ3: オフィスドキュメント ランダム W1 :R 2 64KB Block, 512KB File
オフィスドキュメント ランダム W1 :R 2 64KB Block, 512KB File
シナリオ3 Read KB/s
10並列/10ファイル
100並列/10ファイル
100並列/100ファイル
1000並列/100ファイル
300並列/300ファイル
シナリオ3 Write KB/s
10並列/10ファイル
100並列/10ファイル
100並列/100ファイル
1000並列/100ファイル
300並列/300ファイル
オフィスドキュメント ランダム W1 :R 2 64KB Block, 512KB File
ローカルファイル2 NFS
11,020 16,204
16,698 16,137
9,033 15,323
8,706 15,596
8,289 15,073
ローカルファイル2 NFS
4,447 6,539
6,738 6,511
4,153 7,046
4,003 7,172
3,856 7,012
オフィスドキュメント ランダム W1 :R 2 64KB Block, 512KB File
Ceph_Kernel Driver Ceph_fuse Ceph_Block Device
3,982 18,057 11,920
5,991 17,017 16,246
2,853 7,973 13,333
2,705 9,364 17,985
2,640 6,952 14,455
Ceph_Kernel Driver Ceph_fuse Ceph_Block Device
1,616 7,286 4,810
2,420 6,866 6,556
1,312 3,667 6,131
1,244 4,306 8,270
1,228 3,234 6,725
!"#$!!!"%$!!!"&$!!!"'$!!!"(!$!!!"(#$!!!"(%$!!!"(&$!!!"('$!!!"#!$!!!"
(!並列/(!ファ
イル
(!!並列/
(!ファイル
(!!並列/
(!!ファイル
(!!!並列/
(!!ファイル
)!!並列/
)!!ファイル
ローカルファイル2
*+,"
-./012.34.5"6378.3"
-./019:;."
-./01<5=>?"6.87>."
!"
($!!!"
#$!!!"
)$!!!"
%$!!!"
@$!!!"
&$!!!"
A$!!!"
'$!!!"
B$!!!"
(!並列/(!ファ
イル
(!!並列/
(!ファイル
(!!並列/
(!!ファイル
(!!!並列/
(!!ファイル
)!!並列/
)!!ファイル
ローカルファイル2
*+,"
-./012.34.5"6378.3"
-./019:;."
-./01<5=>?"6.87>."
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 11
シナリオ4: 画像等BLOBデータ シーケンシャル W0 : R1 128KB Block, 10MB File
画像等BLOBデータ シーケンシャル W0 : R1 128KB Block, 10MB File
シナリオ4 Read KB/s
10並列/10ファイル
100並列/10ファイル
100並列/100ファイル
1000並列/100ファイル
300並列/300ファイル
画像等BLOBデータ シーケンシャル W0 : R1 128KB Block, 10MB File
ローカルファイル2 NFS
27,435 107,686
73,532 108,906
27,958 107,413
60,161 106,828
21,159 21,232
画像等BLOBデータ シーケンシャル W0 : R1 128KB Block, 10MB File
Ceph_Kernel Driver Ceph_fuse Ceph_Block Device
48,937 39,374 106,617
60,726 32,460 110,905
60,049 2,270 100,186
60,761 2,273 99,314
38,913 1,522 76,314
!"
#!$!!!"
%!$!!!"
&!$!!!"
'!$!!!"
(!!$!!!"
(#!$!!!"
(!並列/(!ファ
イル
(!!並列/
(!ファイル
(!!並列/
(!!ファイル
(!!!並列/
(!!ファイル
)!!並列/
)!!ファイル
ローカルファイル2
*+,"
-./012.34.5"6378.3"
-./019:;."
-./01<5=>?"6.87>."
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 12
コンテキストスイッチ s1 s3
s2 s4
!"
#!!"
$%!!!"
$%#!!"
&%!!!"
&%#!!"
'%!!!"
'%#!!"
(%!!!"
(%#!!"
#%!!!"
$!)$!" $!!)$!" $!!)$!!" $!!!)$!!" '!!)'!!"
*+,-*"
./0"
,123)415.1*"
,123)6789"
,123):*+,4"
!"
&%!!!"
(%!!!"
;%!!!"
<%!!!"
$!%!!!"
$&%!!!"
$!)$!" $!!)$!" $!!)$!!" $!!!)$!!" '!!)'!!"
*+,-*"
./0"
,123)415.1*"
,123)6789"
,123):*+,4"
!"
#!!"
$%!!!"
$%#!!"
&%!!!"
&%#!!"
'%!!!"
'%#!!"
(%!!!"
(%#!!"
#%!!!"
$!)$!" $!!)$!" $!!)$!!" $!!!)$!!" '!!)'!!"
*+,-*"
./0"
,123)415.1*"
,123)6789"
,123):*+,4"
!"
#%!!!"
$!%!!!"
$#%!!!"
&!%!!!"
&#%!!!"
'!%!!!"
$!)$!" $!!)$!" $!!)$!!" $!!!)$!!" '!!)'!!"
*+,-*"
./0"
,123)415.1*"
,123)6789"
,123):*+,4"
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 13
まとめ
1. CephFS Kernel driverはまだ使えない 2. Block deviceは検証環境では普通にNFS(1台)並みの性能
1. 1G etherを使い切っている 2. NW/キャッシングのチューニングでさらに向上が見込まれる
3. CephFS FUSEは、作成ファイル数が増えるとコンテキストスイッチが急激に増加しており、ネットワークのボトルネックによりIOキューに滞っていると考えられる
14/04/04 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 14