環境はこんな感じです。
$ uname -r 2.6.32-220.23.1.el6.x86_64 $ rpm -q zfs-* spl-* zfs-0.6.0-rc8.x86_64 spl-0.6.0-rc8.x86_64
まずは、今まで使用していた2台構成のmirrorで、ashiftオプションの設定による違いを確認します。
ashiftには、512byteセクタの場合は9、4096byteの場合は12を指定することになります。
こんな感じでpoolを作ります。
Seagate ST3000DM001は、論理セクタサイズを512byteと返すので、デフォルトだとashiftは9が使用されるようです。
# zpool create tank mirror \
scsi-SATA_ST3000DM001-9YN_Z1F0AAAA-part1 \
scsi-SATA_ST3000DM001-9YN_Z1F0BBBB-part1
# zdb |grep ashift
ashift: 9
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
tank 2.72T 552K 2.72T 0% 1.00x ONLINE -
#
ashift=9の場合の結果は、次のようになりました。
# bonnie++
~ 略 ~
Version 1.03e ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
abcde.locald 15488M 45832 99 114327 36 47687 20 41445 90 93675 16 265.3 4
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 13073 99 +++++ +++ 14567 99 7688 99 +++++ +++ 5378 99
abcde.localdomain,15488M,45832,99,114327,36,47687,20,41445,90,93675,16,265.3,4,16,13073,99,+++++,+++,14567,99,7688,99,+++++,+++,5378,99
次は、4096byte用の設定を試します。
pool作製時に、
-o ashift=12を指定します。
# zpool destroy tank
# zpool create -o ashift=12 tank mirror \
scsi-SATA_ST3000DM001-9YN_Z1F0AAAA-part1 \
scsi-SATA_ST3000DM001-9YN_Z1F0BBBB-part1
# zdb |grep ashift
ashift: 12
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
tank 2.72T 552K 2.72T 0% 1.00x ONLINE -
#
ashift=12の場合の結果は、次のようになりました。
# bonnie++
~ 略 ~
Version 1.03e ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
abcde.locald 15488M 43242 99 135921 41 58642 24 43621 93 105678 19 284.4 5
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 12874 99 +++++ +++ 14309 99 11690 99 +++++ +++ 13996 99
abcde.localdomain,15488M,43242,99,135921,41,58642,24,43621,93,105678,19,284.4,5,16,12874,99,+++++,+++,14309,99,11690,99,+++++,+++,13996,99
結果を並べるとこんな感じになります。Sequrntial Block Write/Readが大体1,2割性能UPしています。
Per charは、まあそんな感じかという値ですが、Random Create/Delteは、面白い結果ですね。
------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
ashift=9 15488M 45832 99 114327 36 47687 20 41445 90 93675 16 265.3 4
ashift=12 15488M 43242 99 135921 41 58642 24 43621 93 105678 19 284.4 5
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
ashift=9 16 13073 99 +++++ +++ 14567 99 7688 99 +++++ +++ 5378 99
ashift=12 16 12874 99 +++++ +++ 14309 99 11690 99 +++++ +++ 13996 99
それぞれの設定についてbonnie++で数回計測したところ、大体同じような結果になったので初回実行時の結果を載せています。
0 件のコメント:
コメントを投稿