XtreemFSをFreeBSDで動かす(5) 書き込み速度測定

またESXi用に使おうと思って、とりあえず書き込み速度を計ってみた。

結果、6.8MB/sという非常に悲しい数字をもらった。

ちなみに、rc.confの記述内容がxstreemfs_*_enableとかになってたので、xtreemfs_*_enable修正している

構成はこんな感じ。

* ストレージはiSCSI越しのNAS(NETGEAR ReadyNAS 104)
* DIR/MRC/OSDすべてを同じノード上に配置したシングル構成。(number of replica=1)
* iSCSIからレイテンシへの影響を軽減するため、 システム用SSDをZILに使用したZFSをOSDのデータ領域に使用。

20160528_xtfs_testenv

# mkfs.xtreemfs pbrpc://localhost/test
# mkdir /mnt/xtfstest
# mount.xtreemfs pbrpc://localhost/test /mnt/xtfstest
# dd if=/dev/zero of=/mnt/xtfstest/test bs=65536 count=65536

遅いのでtopを見てみる。

last pid:   974;  load averages:  2.24,  1.42,  0.93                                    up 0+00:19:31  22:07:32
45 processes:  3 running, 42 sleeping
CPU: 49.6% user,  0.0% nice, 48.4% system,  1.2% interrupt,  0.8% idle
Mem: 267M Active, 279M Inact, 808M Wired, 815M Buf, 6477M Free
ARC: 381M Total, 28M MFU, 328M MRU, 20M Anon, 894K Header, 4589K Other                                          
Swap: 4096M Total, 4096M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
  658 xtreemfs     26  20    0  3507M   112M RUN     1  19:12  94.97% java
  928 xtreemfs     35  20    0  3506M   114M uwait   1   0:43  52.69% java                                      
  941 root         11  25    0   120M 15856K RUN     0   0:32  44.68% mount.xtreemfs
  966 root          1  21    0 12344K  1920K fu_ans  1   0:02   2.59% dd

そして結果。

65536+0 records in
65536+0 records out
4294967296 bytes transferred in 697.924677 secs (6153912 bytes/sec)

6MB/s。48Mbps……。

ちなみに、OSD領域に直接書いてみると、

# dd if=/dev/zero of=/var/lib/xtreemfs/objs/test bs=65536 count=65536
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 112.445004 secs (38196159 bytes/sec)

38.2MB/s。308Mbpsくらい。
つまりXtreemFSが遅い。きっと、主にCPU負荷で。

CPU: Intel(R) Celeron(R) 3205U @ 1.50GHz (1496.57-MHz K8-class CPU)

ちょっとCPUをケチりすぎたかな……。

おまけ その1

新しくインストールした直後、作ったパッケージを持っていったら……

# pkg install xtreemfs-1.5.1.txz
(中略)
[1/1] Extracting xtreemfs-1.5.1:   0%Child process pid=99734 terminated abnormally: Segmentation fault

ひどい。

仕方がないので手動インストールした。

# cd /
# tar -jxf /root/xtreemfs/packaging/freebsd/package/xtreemfs-1.5.1.txz /usr
# /usr/local/etc/xos/xtreemfs/postinstall_setup.sh

おまけ その2

将来ノードとして稼動させる用にマシンを一台調達したので、いろいろ設定してみていた。

ZFSがマウントされる前に起動して、システムボリュームをOSD扱いされる事故の防止処置。

# mkdir -p /var/lib/xtreemfs/objs
# chflags schg /var/lib/xtreemfs/objs

サービス起動順の制御。
zfsがiscsid/iscsictlの後になればいいように見えるが、iscsictlが接続完了を待ってくれないので結局待ち処理を書かないとダメ。
長くなったのでGistに置いた。(zfs-iscsi)