NetBSD on KVM で性能が出ない (dbenchによるベンチマーク)
2012/01/22(日) 23:16 NetBSD はてブ情報 はてブに登録 はてブ数

NetBSDでKVMを動かしていますが、どうにもディスクの速度がもっさりです。

そこで、同じ仮想科環境でLinuxなみの速度を目標に、まずはベンチマークをして現状把握をすることにしました。

用意した環境は次の三つで、リファレンスとなるのはx86_64なUbuntuと我らがNetBSD/amd64, NetBSD/i386です。
  • Ubuntu *1
  • NetBSD/i386 *2
  • NetBSD/amd64 *3
ベンチマークに使ったのはdbenchです。ddベンチでもよいかと思っていましたが、せっかくなので専用のベンチマークを使うかなと思いました。ちなみにdbenchを選んだ理由は特になく、pkgsrcをあさってdiskのdかなーと思ってみたらそうだった、ぐらいの軽いノリです。
  • dbenchについて
    • dbench-3.04を使用
    • client.txtは同一
    • 実行コマンドはdbench -c client.txt 5
  • diskについて
    • すべてvirtioを使用
    • linuxは(/dev/vda1 on / type ext4 (rw,errors=remount-ro))
    • NetBSDは(/dev/ld0a on / type ffs (log, local))
    • すべてqemu-imgによるイメージファイル
まずは何のチューニングもせずに測定です。

あっ、NetBSD/amd64はhttp://www.tokuda.net/diary/KVM/NetBSDinstallにも書いたとおりACPI, MPの両方をOFFにして動作させています。

結果は次のとおり。
OSスループット(MB/s)
Ubuntu350.458
NetBSD/i3866.043
NetBSD/amd6428.191
なんというか、ちょっとびっくりするくらいの差がついています。NetBSD/i386はなにかの測定ミスかと思うくらいの違いです。

また、NetBSD/amd64も速度が安定せず、徐々にスループットをあげて35MB/sぐらいで安定したと思いきや、徐々に下がってきて、結果として28MB/sぐらいになるという挙動です。

このぐらい差がつくと、ちょろっとしたチューニングで劇的に改善するんじゃないの? とかあさはかな考えでdkctlによるstrategyの変更を実施してみました。具体的にはpriocscanからfcfsです。

結果、26.1531 MB/s って下がってしまいました。

これにめげず、ジャーナルしないほうが速いかもとWAPBLをOFFに (mountオプションからlogを削除) してみました。

結果、22.5587 MB/s ってもっと下がってしまいました。WAPBLの説明を改めて読むと、asyncよりも少し遅い、と書いてあるくらいですから当たり前ですね。

そのあとも何度かベンチマークを走らせたのですが、どんどん結果が悪くなる一方です。

これはちょっとおかしい傾向で、悪いなら悪いなりに数字が安定してくれないと困ってしまいます。

ファイルシステムのチューニング以外の見落としがある可能性も高いということで、今日はここまで。

*1 : Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

*2 : NetBSD nbsd-head 5.99.59 NetBSD 5.99.59 (GENERIC) #0: Fri Jan 13 00:27:37 UTC 2012 builds@b7.netbsd.org:/home/builds/ab/HEAD/i386/201201121750Z-obj/home/builds/ab/HEAD/src/sys/arch/i386/compile/GENERIC i386

*3 : NetBSD head64. 5.99.59 NetBSD 5.99.59 (GENERIC) #0: Thu Jan 12 19:43:43 UTC 2012 builds@b8.netbsd.org:/home/builds/ab/HEAD/amd64/201201121750Z-obj/home/builds/ab/HEAD/src/sys/arch/amd64/compile/GENERIC amd64

1: 774 2012年01月30日(月) 午後3時54分

ubuntuがいくらなんでも速すぎませんか。
お高いディスクお使いですか。

2: tokuda 2012年02月11日(土) 深夜0時52分

いえ、高いディスクでもなんでもない、何の変哲もないSATA 3.5inchディスクです。dmesgにはWD20EARS-00Mって出てますね。

3: 774 2012年02月16日(木) 午前11時42分

なるほど、dbenchのことは知りませんが、ちょっと前のSSDのカタログ性能くらい出ちゃってるのであれれと思いました。
NetBSDの場合、今どきのハードに対してMAXPHYSが小さすぎるのがディスク性能でない原因の(大きな)一つだと思ってます。きっと昔のハードに最適化してあるのでしょう (嘘)


名前:  非公開コメント   

  • TB-URL  http://www.tokuda.net/diary/0775/tb/