BHyVeHackathonに参加してきた

2012年7月28日,29日にBHyVe Hackathonというやつがあったので
参加してみました.

と言っても大したことできないのでとりあえず,bhyve上のゲスト
ベンチマークとってみました.ゲストとホストのdmesgをここ

ベンチマーク結果です.
ベンチマークとして3つ,Bonnie++,iperf,UnixBenchを使って
測ってみました.
以下に示します.
まずゲストの方です.

=====BONNIE=====
bhyve-tap0% bonnie++ -s 512 -r 256
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -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
bhyve-tap0     512M   211  99 51131   9 47915  10   413  99 +++++ +++ +++++ +++
Latency             49818us   57872us    2123ms   27809us     407us     182ms
Version  1.96       ------Sequential Create------ --------Random Create--------
bhyve-tap0          -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  4800  30 +++++ +++  8281  39  4848  30 +++++ +++  8163  39
Latency             11633us     112us     241us    5528us      91us     675us
1.96,1.96,bhyve-tap0,1,1336390335,512M,,211,99,51131,9,47915,10,413,99,+++++,+++,+++++,+++,16,,,,,4800,30,+++++,+++,8281,39,4848,30,+++++,+++,8163,39,49818us,57872us,2123ms,27809us,407us,182ms,11633us,112us,241us,5528us,91us,675us

=====IPERF CLINET=====
bhyve-tap0% iperf -c localhost
------------------------------------------------------------
Client connecting to localhost, TCP port 5001
TCP window size: 42.0 KByte (default)
------------------------------------------------------------
[  3] local 127.0.0.1 port 31922 connected with 127.0.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  3.60 GBytes  3.09 Gbits/sec
bhyve-tap0% iperf -c 192.168.168.170
------------------------------------------------------------
Client connecting to 192.168.168.170, TCP port 5001
TCP window size: 48.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.168.176 port 46717 connected with 192.168.168.170 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   459 MBytes   385 Mbits/sec

=====IPERF SERVER=====
bhyve-tap0% iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  4] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 31922
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  3.60 GBytes  3.08 Gbits/sec
[  5] local 192.168.168.176 port 5001 connected with 192.168.168.170 port 49228
[  5]  0.0-10.0 sec   476 MBytes   399 Mbits/sec
[  4] local 192.168.168.176 port 5001 connected with 192.168.168.66 port 62849
[  4]  0.0-10.0 sec   808 MBytes   677 Mbits/sec

=======UNIX BENCH=======
bhyve-tap0% unixbench

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

                 4        1           Based on the Byte Magazine Unix Benchmark
                44       11
   v   v       4 4        1
    v v       44444       1           v4.1 revisions mostly by David C. Niemi,
     v           4   o   111          Reston, VA, USA  <niemi@tux.org>


Dhrystone 2 using register variables  1
 2 3 4 5 6 7 8 9 10

Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

System Call Overhead  1 2 3 4 5 6 7 8 9 10

Pipe Throughput  1 2 3 4 5 6 7 8 9 10

Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

Process Creation  1 2 3

Execl Throughput  1 2 3

Filesystem Throughput 1024 bufsize 2000 maxblocks  1 2 3

Filesystem Throughput 256 bufsize 500 maxblocks  1 2 3

Filesystem Throughput 4096 bufsize 8000 maxblocks  1 2 3

Shell Scripts (1 concurrent)  1 2 3
Shell Scripts (8 concurrent)  1 2 3
Shell Scripts (16 concurrent)  1 2 3

Arithmetic Test (type = short)  1 2 3

Arithmetic Test (type = int)  1 2 3

Arithmetic Test (type = long)  1 2 3

Arithmetic Test (type = float)  1 2 3

Arithmetic Test (type = double)  1 2 3

Arithoh  1 2 3

C Compiler Throughput  1 2 3

Dc: sqrt(2) to 99 decimal places  1 2 3

Recursion Test--Tower of Hanoi  1 2 3

==============================================================

  BYTE UNIX Benchmarks (Version 4.1.0)
  System -- bhyve-tap0
  Start Benchmark Run: Mon May  7 13:26:14 UTC 2012
   3 interactive users.
   1:26PM  up 16:27, 3 users, load averages: 0.07, 0.02, 0.00
  -r-xr-xr-x  1 root  wheel  142880 Jan  3 07:55 /bin/sh
  /bin/sh: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 9.0 (900044), stripped
  /dev/vtbd0     1007516 325292 601624    35%    /
Dhrystone 2 using register variables     13402152.3 lps   (10.0 secs, 10 samples)
Double-Precision Whetstone                 2845.6 MWIPS (10.0 secs, 10 samples)
System Call Overhead                     600086.8 lps   (10.0 secs, 10 samples)
Pipe Throughput                          763106.7 lps   (10.0 secs, 10 samples)
Pipe-based Context Switching              63390.4 lps   (10.0 secs, 10 samples)
Process Creation                           3264.5 lps   (30.0 secs, 3 samples)
Execl Throughput                           1143.7 lps   (30.0 secs, 3 samples)
File Read 1024 bufsize 2000 maxblocks    416090.0 KBps  (30.0 secs, 3 samples)
File Write 1024 bufsize 2000 maxblocks    66560.0 KBps  (30.0 secs, 3 samples)
File Copy 1024 bufsize 2000 maxblocks     90105.0 KBps  (30.0 secs, 3 samples)
File Read 256 bufsize 500 maxblocks      106710.0 KBps  (30.0 secs, 3 samples)
File Write 256 bufsize 500 maxblocks      65655.0 KBps  (30.0 secs, 3 samples)
File Copy 256 bufsize 500 maxblocks       36586.0 KBps  (30.0 secs, 3 samples)
File Read 4096 bufsize 8000 maxblocks    1165741.0 KBps  (30.0 secs, 3 samples)
File Write 4096 bufsize 8000 maxblocks    39644.0 KBps  (30.0 secs, 3 samples)
File Copy 4096 bufsize 8000 maxblocks     49622.0 KBps  (30.0 secs, 3 samples)
Shell Scripts (1 concurrent)               2655.3 lpm   (60.0 secs, 3 samples)
Shell Scripts (8 concurrent)                356.0 lpm   (60.0 secs, 3 samples)
Shell Scripts (16 concurrent)               178.0 lpm   (60.0 secs, 3 samples)
Arithmetic Test (type = short)           1928596.5 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = int)             1928929.0 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = long)            711373.1 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = float)           1498945.9 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = double)          962181.3 lps   (10.0 secs, 3 samples)
Arithoh                                  303218242.9 lps   (10.0 secs, 3 samples)
C Compiler Throughput                      1034.7 lpm   (60.0 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places         103272.0 lpm   (30.0 secs, 3 samples)
Recursion Test--Tower of Hanoi           156188.9 lps   (20.0 secs, 3 samples)


                     INDEX VALUES
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        116700.0 13402152.3     1148.4
Double-Precision Whetstone                      55.0     2845.6      517.4
Execl Throughput                                43.0     1143.7      266.0
File Copy 1024 bufsize 2000 maxblocks         3960.0    90105.0      227.5
File Copy 256 bufsize 500 maxblocks           1655.0    36586.0      221.1
File Copy 4096 bufsize 8000 maxblocks         5800.0    49622.0       85.6
Pipe Throughput                              12440.0   763106.7      613.4
Pipe-based Context Switching                  4000.0    63390.4      158.5
Process Creation                               126.0     3264.5      259.1
Shell Scripts (8 concurrent)                     6.0      356.0      593.3
System Call Overhead                         15000.0   600086.8      400.1
                                                                 =========
     FINAL SCORE                                                     323.5
bhyve-tap0%

次にhostのベンチマーク結果です.

=====BONNIE++======
-[33]% bonnie++ -m 512 -r 256
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -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
512            512M   259  99 50808   9 50101  15   487  99 896333  99  2613  76
Latency             32495us   59089us   62541us   28319us    1240us    6932us
Version  1.96       ------Sequential Create------ --------Random Create--------
512                 -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 29350  74 +++++ +++ +++++ +++ 27305  84 +++++ +++ +++++ +++
Latency               138ms      46us      43us   84306us      45us      36us
1.96,1.96,512,1,1343489501,512M,,259,99,50808,9,50101,15,487,99,896333,99,2613,76,16,,,,,29350,74,+++++,+++,+++++,+++,27305,84,+++++,+++,+++++,+++,32495us,59089us,62541us,28319us,1240us,6932us,138ms,46us,43us,84306us,45us,36us

=====IPERF CLIENT======
$ iperf -c localhost
------------------------------------------------------------
Client connecting to localhost, TCP port 5001
TCP window size: 42.0 KByte (default)
------------------------------------------------------------
[  3] local 127.0.0.1 port 50376 connected with 127.0.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  8.22 GBytes  7.06 Gbits/sec
iperf -c localhost  0.02s user 9.87s system 98% cpu 10.073 total

-[36]% iperf -c 192.168.168.176
------------------------------------------------------------
Client connecting to 192.168.168.176, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.168.170 port 49228 connected with 192.168.168.176 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   476 MBytes   399 Mbits/sec

-[37]% iperf -c 192.168.168.66
------------------------------------------------------------
Client connecting to 192.168.168.66, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.168.170 port 62802 connected with 192.168.168.66 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1020 MBytes   856 Mbits/sec

=====IPERF SERVER=====
-[34]% iperf -s
-[34]% iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  4] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 50376
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  8.22 GBytes  7.06 Gbits/sec
[  5] local 192.168.168.170 port 5001 connected with 192.168.168.176 port 46717
[  5]  0.0-10.0 sec   459 MBytes   384 Mbits/sec
[  4] local 192.168.168.170 port 5001 connected with 192.168.168.66 port 62834
[  4]  0.0-10.0 sec  1.05 GBytes   904 Mbits/sec

-[42]% unixbench

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

                 4        1           Based on the Byte Magazine Unix Benchmark
                44       11
   v   v       4 4        1
    v v       44444       1           v4.1 revisions mostly by David C. Niemi,
     v           4   o   111          Reston, VA, USA  <niemi@tux.org>
 


Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

System Call Overhead  1 2 3 4 5 6 7 8 9 10

Pipe Throughput  1 2 3 4 5 6 7 8 9 10

Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

Process Creation  1 2 3

Execl Throughput  1 2 3

Filesystem Throughput 1024 bufsize 2000 maxblocks  1 2 3

Filesystem Throughput 256 bufsize 500 maxblocks  1 2 3

Filesystem Throughput 4096 bufsize 8000 maxblocks  1 2 3

Shell Scripts (1 concurrent)  1 2 3
Shell Scripts (8 concurrent)  1 2 3
Shell Scripts (16 concurrent)  1 2 3

Arithmetic Test (type = short)  1 2 3

Arithmetic Test (type = int)  1 2 3

Arithmetic Test (type = long)  1 2 3

Arithmetic Test (type = float)  1 2 3

Arithmetic Test (type = double)  1 2 3

Arithoh  1 2 3

C Compiler Throughput  1 2 3

Dc: sqrt(2) to 99 decimal places  1 2 3

Recursion Test--Tower of Hanoi  1 2 3

==============================================================

  BYTE UNIX Benchmarks (Version 4.1.0)
  System -- bee
  Start Benchmark Run: Sun Jul 29 03:55:50 JST 2012
   3 interactive users.
   3:55AM  up 17:57, 3 users, load averages: 1.00, 0.99, 0.92
  -r-xr-xr-x  1 root  wheel  143200 Jul 28 16:48 /bin/sh
  /bin/sh: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), FreeBSD-style, for FreeBSD 10.0 (1000014), stripped
  /dev/ada0p2   149650652 7552928 130125672     5%    /
Dhrystone 2 using register variables     14366223.6 lps   (10.0 secs, 10 samples)
Double-Precision Whetstone                 2639.9 MWIPS (9.9 secs, 10 samples)
System Call Overhead                     713536.2 lps   (10.0 secs, 10 samples)
Pipe Throughput                          926352.8 lps   (10.0 secs, 10 samples)
Pipe-based Context Switching             148104.0 lps   (10.0 secs, 10 samples)
Process Creation                           4459.8 lps   (30.0 secs, 3 samples)
Execl Throughput                           1782.5 lps   (29.7 secs, 3 samples)
File Read 1024 bufsize 2000 maxblocks    486558.0 KBps  (30.0 secs, 3 samples)
File Write 1024 bufsize 2000 maxblocks    84811.0 KBps  (30.0 secs, 3 samples)
File Copy 1024 bufsize 2000 maxblocks     86390.0 KBps  (30.0 secs, 3 samples)
File Read 256 bufsize 500 maxblocks      125491.0 KBps  (30.0 secs, 3 samples)
File Write 256 bufsize 500 maxblocks      81021.0 KBps  (30.0 secs, 3 samples)
File Copy 256 bufsize 500 maxblocks       44906.0 KBps  (30.0 secs, 3 samples)
File Read 4096 bufsize 8000 maxblocks    1425878.0 KBps  (30.0 secs, 3 samples)
File Write 4096 bufsize 8000 maxblocks    49866.0 KBps  (30.0 secs, 3 samples)
File Copy 4096 bufsize 8000 maxblocks     44958.0 KBps  (30.0 secs, 3 samples)
Shell Scripts (1 concurrent)                717.7 lpm   (60.0 secs, 3 samples)
Shell Scripts (8 concurrent)                167.3 lpm   (60.0 secs, 3 samples)
Shell Scripts (16 concurrent)                88.0 lpm   (60.0 secs, 3 samples)
Arithmetic Test (type = short)           1936049.4 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = int)             1931551.3 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = long)            711919.7 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = float)           1521321.8 lps   (10.0 secs, 3 samples)
Arithmetic Test (type = double)          972646.2 lps   (10.0 secs, 3 samples)
Arithoh                                  302778793.2 lps   (10.0 secs, 3 samples)
C Compiler Throughput                       668.3 lpm   (60.0 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places         148313.2 lpm   (30.0 secs, 3 samples)
Recursion Test--Tower of Hanoi           155617.2 lps   (20.0 secs, 3 samples)


                     INDEX VALUES            
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        116700.0 14366223.6     1231.0
Double-Precision Whetstone                      55.0     2639.9      480.0
Execl Throughput                                43.0     1782.5      414.5
File Copy 1024 bufsize 2000 maxblocks         3960.0    86390.0      218.2
File Copy 256 bufsize 500 maxblocks           1655.0    44906.0      271.3
File Copy 4096 bufsize 8000 maxblocks         5800.0    44958.0       77.5
Pipe Throughput                              12440.0   926352.8      744.7
Pipe-based Context Switching                  4000.0   148104.0      370.3
Process Creation                               126.0     4459.8      354.0
Shell Scripts (8 concurrent)                     6.0      167.3      278.8
System Call Overhead                         15000.0   713536.2      475.7
                                                                 =========
     FINAL SCORE                                                     363.3

とこんなかんじになっています.
CPUが思ったより下がってないけど,ネットワーク,ディスクは…
てな感じの結果でした.
あとはapacheベンチマークとか取ればよかったかも