Solaris,ZFSでいろいろ試してます

2GBのUSBメモリ(USB1,USB2)2本の構成を変えての速度計測です。
構成Read 1GBWrite 1GB
USB1 単体22.2 MB/s7.5 MB/s
USB2 単体19.0 MB/s8.4 MB/s
USB1,2 連結34.0 MB/s15.3 MB/s
USB1,2 mirror33.8 MB/s6.3 MB/s

USB1,2 の連結は zpool create 時は単純に並べただけでRAID-0の
動作をするような指定をしているわけではありませんが、
実質RAID-0(stripe)として動作しています。

USB1,2 mirrorは書き込み時はミラーらしく単体より遅くなってますが、
読み込み時はstripeと同様の動作をしているのがわかります。

mirror(RAID-1)はハードウェアRAIDでも高性能のものは両方のデバイスから
分散して読み込んで高速化してくれますが、低性能の(安い)ものは
片側からしか読み込まないものです。
  • USB1 単体
# zpool create -f usb1 c7t0d0
# zpool status usb1
  pool: usb1
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        usb1        ONLINE       0     0     0
          c7t0d0    ONLINE       0     0     0

errors: No known data errors
# zpool list usb1
NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
usb1  1.86G  74.5K  1.86G     0%  ONLINE  -
# /usr/gnu/bin/dd if=/dev/zero of=/usb1/testfile bs=256k count=4096
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 142.372 s, 7.5 MB/s
# zpool export usb1
# zpool import usb1
# /usr/gnu/bin/dd if=/usb1/testfile of=/dev/null bs=256k count=4096
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 48.4388 s, 22.2 MB/s
  • USB2 単体
# zpool create -f usb2 c9t0d0
# zpool status usb2
  pool: usb1
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        usb2        ONLINE       0     0     0
          c9t0d0    ONLINE       0     0     0

errors: No known data errors
# zpool list usb2
NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
usb2  1.83G  74.5K  1.83G     0%  ONLINE  -
# /usr/gnu/bin/dd if=/dev/zero of=/usb2/testfile bs=256k count=4096
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 127.538 s, 8.4 MB/s
# zpool export usb2
# zpool import usb2
# /usr/gnu/bin/dd if=/usb2/testfile of=/dev/null bs=256k count=4096
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 56.5256 s, 19.0 MB/s
  • USB1,2 連結
# zpool create -f usb12 c7t0d0 c9t0d0
# zpool status usb12
  pool: usb12
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        usb12       ONLINE       0     0     0
          c7t0d0    ONLINE       0     0     0
          c9t0d0    ONLINE       0     0     0

errors: No known data errors
# zpool list usb12
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
usb12  3.69G    76K  3.69G     0%  ONLINE  -
# /usr/gnu/bin/dd if=/dev/zero of=/usb12/testfile bs=256k count=4096
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 69.964 s, 15.3 MB/s
# zpool export usb12
# zpool import usb12
# /usr/gnu/bin/dd if=/usb12/testfile of=/dev/null bs=256k count=4096
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 31.6001 s, 34.0 MB/s
  • USB1,2 mirror
# zpool create -f usb12mrr mirror c7t0d0 c9t0d0
# zpool status usb12mrr
  pool: usb12mrr
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        usb12mrr    ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0
            c9t0d0  ONLINE       0     0     0

errors: No known data errors
# zpool list usb12mrr
NAME       SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
usb12mrr  1.83G  74.5K  1.83G     0%  ONLINE  -
# /usr/gnu/bin/dd if=/dev/zero of=/usb12mrr/testfile bs=256k count=4096
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 171.776 s, 6.3 MB/s
# zpool export usb12mrr
# zpool import usb12mrr
# /usr/gnu/bin/dd if=/usb12mrr/testfile of=/dev/null bs=256k count=4096
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 31.7626 s, 33.8 MB/s
タグ

管理人/副管理人のみ編集できます