自宅サーバとして使っていたマシンを買い替えて、ベンチマーク的なことをやってみたのでそのメモ。
去年の夏頃(?)辺りから話題になっていた N100 搭載ミニ PC を今年の正月頃に買ったのだが、 設定やデータを移すためのスクリプト類の整備だったり、 ベンチマークのためのまとまった時間を取るのが億劫で温めていたもの。
半年近く未開封で転がしてるのをいい加減もったいなくなってきてやっと手を付けた、というのが今回。
買い替え前後のマシン
買い替え前のマシンは Intel NUC の i5-7260U 搭載機でだいぶ古い。 Windows デスクトップマシンとして数年、 Linux サブ機として OS 入れ替えながら数年使った後、 最近は Wireguard のサーバ的な用途で使っていた。 何か具体的な不満があったりしたわけではないが、 単純に古くなってきてるというのと、最近の CPU なら電力効率とかも改善してるんだろうな、 という期待で新しく N100 搭載機を買った、という感じの経緯。
買い替え前後のマシンの大まかなスペックとしてはこんな感じ。
前 | 後 | |
---|---|---|
メーカー | Intel | Beelink |
機種 | BOXNUC7i5BNK | MINI S12 Pro |
CPU | Intel Core i5-7260U | Intel N100 |
メモリ | 8GiB x 2 ( DDR4 2133MHz ) | 16GiB x 1 ( DDR4 3200MHz ) |
ストレージ | 250GiB ( SATA 3 ) | 500GiB ( M.2 NVMe PCIe 3.0) |
本体サイズ的には大体一緒だが重量は今回買ったヤツの方がだいぶ軽い。 インターフェースとしては USB 3.2 Gen2 のポートが増えてたり、 USB-C のポートがなくなったり多少の違いはあるが概ね同じ。 サーバ用途というのもあって、動かしたり色々抜き差しすることもそんなに無いので、使う上での影響は特に無し。
ただ一点 AC アダプタのコンセント側部分の幅が倍くらいになったので、ここは若干使いにくくなった。 (電源タップで隣に挿しているモノによっては干渉するようになったので少し並べ替えた)
ベンチマーク環境
Arch Linux のセットアップと各種パッケージのインストール、 dotfiles のデプロイまでやった状態。
参考までにベンチマーク実行時点で動いていたサービス、インストールしたパッケージはこんな感じ(折りたたみ)
サービス
❯ systemctl status
● mini-s12
State: running
Units: 320 loaded (incl. loaded aliases)
Jobs: 0 queued
Failed: 0 units
Since: Mon 2024-05-27 12:44:20 JST; 3min 24s ago
systemd: 255.6-2-arch
CGroup: /
├─init.scope
│ └─1 /sbin/init
├─system.slice
│ ├─NetworkManager.service
│ │ └─451 /usr/bin/NetworkManager --no-daemon
│ ├─dbus-broker.service
│ │ ├─395 /usr/bin/dbus-broker-launch --scope system --audit
│ │ └─401 dbus-broker --log 4 --controller 9 --machine-id f92953ef2d4c442383f2abd66880ff01 --max-bytes 536870912 --max-fds 4096 --max-matches 131072 --audit
│ ├─sshd.service
│ │ └─496 "sshd: /usr/bin/sshd -D [listener] 0 of 10-100 startups"
│ ├─system-getty.slice
│ │ └─[email protected]
│ │ └─500 /sbin/agetty -o "-p -- \\u" --noclear - linux
│ ├─systemd-journald.service
│ │ └─252 /usr/lib/systemd/systemd-journald
│ ├─systemd-logind.service
│ │ └─404 /usr/lib/systemd/systemd-logind
│ ├─systemd-udevd.service
│ │ └─udev
│ │ └─302 /usr/lib/systemd/systemd-udevd
│ ├─systemd-userdbd.service
│ │ ├─265 /usr/lib/systemd/systemd-userdbd
│ │ ├─372 "systemd-userwork: waiting..."
│ │ ├─373 "systemd-userwork: waiting..."
│ │ └─374 "systemd-userwork: waiting..."
│ └─wpa_supplicant.service
│ └─503 /usr/bin/wpa_supplicant -u -s -O /run/wpa_supplicant
└─user.slice
└─user-1000.slice
├─session-1.scope
│ ├─540 "sshd: shida [priv]"
│ ├─557 "sshd: shida@pts/0"
│ ├─558 -bash
│ ├─675 systemctl status
│ └─676 less
└─[email protected]
└─init.scope
├─546 /usr/lib/systemd/systemd --user
└─548 "(sd-pam)"
パッケージ
❯ pacman -Qs | grep '^local/'
local/acl 2.3.2-1
local/archlinux-keyring 20240520-1
local/argon2 20190702-5
local/attr 2.5.2-1
local/audit 4.0.1-3
local/autoconf 2.72-1
local/automake 1.16.5-2
local/avahi 1:0.8+r194+g3f79789-2
local/base 3-2
local/base-devel 1-1
local/bash 5.2.026-2
local/bash-completion 2.11-3
local/bc 1.07.1-4
local/binutils 2.42+r91+g6224493e457-1
local/bison 3.8.2-6
local/brotli 1.1.0-2
local/bzip2 1.0.8-6
local/ca-certificates 20220905-1
local/ca-certificates-mozilla 3.100-1
local/ca-certificates-utils 20220905-1
local/cairo 1.18.0-2
local/coreutils 9.5-1
local/cryptsetup 2.7.2-1
local/curl 8.8.0-1
local/db5.3 5.3.28-5
local/dbus 1.14.10-2
local/dbus-broker 36-2
local/dbus-broker-units 36-2
local/debugedit 5.0-6
local/default-cursors 2-1
local/device-mapper 2.03.24-1
local/diffutils 3.10-1
local/double-conversion 3.3.0-1
local/duktape 2.7.0-6
local/e2fsprogs 1.47.1-2
local/enchant 2.7.3-2
local/expat 2.6.2-1
local/fakeroot 1.34-1
local/fcitx5 5.1.9-1 (fcitx5-im)
local/fcitx5-mozc 2.26.4632.102.g4d2e3bd-2
local/file 5.45-1
local/filesystem 2024.04.07-1
local/findutils 4.9.0-3
local/flex 2.6.4-5
local/fontconfig 2:2.15.0-2
local/freetype2 2.13.2-1
local/fribidi 1.0.14-1
local/gawk 5.3.0-1
local/gc 8.2.6-1
local/gcc 14.1.1+r58+gfc9fb69ad62-1
local/gcc-libs 14.1.1+r58+gfc9fb69ad62-1
local/gdbm 1.23-2
local/gdk-pixbuf2 2.42.12-1
local/gettext 0.22.5-1
local/git 2.45.1-1
local/glib2 2.80.2-2
local/glibc 2.39+r52+gf8e4623421-1
local/gmp 6.3.0-2
local/gnupg 2.4.5-1
local/gnutls 3.8.5-1
local/gpgme 1.23.2-4
local/gpm 1.20.7.r38.ge82d1a6-5
local/graphite 1:1.3.14-3
local/grep 3.11-1
local/groff 1.23.0-5
local/guile 3.0.9-1
local/gzip 1.13-2
local/harfbuzz 8.5.0-1
local/hwdata 0.382-1
local/iana-etc 20240412-1
local/icu 75.1-1
local/inetutils 2.5-1
local/intel-ucode 20240514-1
local/iproute2 6.9.0-1
local/iptables 1:1.8.10-1
local/iputils 20240117-1
local/iso-codes 4.16.0-1
local/jansson 2.14-4
local/jbigkit 2.1-8
local/json-c 0.17-1
local/kbd 2.6.4-1
local/keyutils 1.6.3-2
local/kmod 32-1
local/krb5 1.21.2-2
local/less 1:643-2
local/libarchive 3.7.4-1
local/libassuan 2.5.7-2
local/libbpf 1.3.0-1
local/libcap 2.70-1
local/libcap-ng 0.8.5-2
local/libcups 1:2.4.8-1
local/libdaemon 0.14-5
local/libdatrie 0.2.13-4
local/libdrm 2.4.120-1
local/libedit 20230828_3.1-1
local/libelf 0.191-3
local/libevdev 1.13.1-1
local/libevent 2.1.12-4
local/libffi 3.4.6-1
local/libgcrypt 1.10.3-1
local/libglvnd 1.7.0-1
local/libgpg-error 1.49-1
local/libgudev 238-1
local/libice 1.1.1-2
local/libidn2 2.3.7-1
local/libinput 1.25.0-1
local/libisl 0.26-2
local/libjpeg-turbo 3.0.3-1
local/libksba 1.6.6-1
local/libldap 2.6.7-2
local/libluv 1.48.0_2-1
local/libmm-glib 1.22.0-1
local/libmnl 1.0.5-2
local/libmpc 1.3.1-1
local/libndp 1.8-1
local/libnetfilter_conntrack 1.0.9-2
local/libnewt 0.52.24-2
local/libnfnetlink 1.0.2-2
local/libnftnl 1.2.6-1
local/libnghttp2 1.62.1-1
local/libnghttp3 1.3.0-1
local/libnl 3.9.0-1
local/libnm 1.46.0-2
local/libnsl 2.0.1-1
local/libomxil-bellagio 0.9.3-4
local/libp11-kit 0.25.3-1
local/libpcap 1.10.4-1
local/libpciaccess 0.18.1-2
local/libpgm 5.3.128-3
local/libpipeline 1.5.7-2
local/libpng 1.6.43-1
local/libproxy 0.5.6-1
local/libpsl 0.21.5-2
local/libsasl 2.1.28-4
local/libseccomp 2.5.5-3
local/libsecret 0.21.4-1
local/libsm 1.2.4-1
local/libsodium 1.0.19-3
local/libssh2 1.11.0-1
local/libsysprof-capture 46.0-3
local/libtasn1 4.19.0-1
local/libteam 1.32-1
local/libthai 0.1.29-3
local/libtiff 4.6.0-5
local/libtirpc 1.3.4-1
local/libtool 2.5.0+1+g38c166c8-1
local/libunistring 1.2-1
local/libusb 1.0.27-1
local/libutempter 1.2.1-4
local/libuv 1.48.0-2
local/libverto 0.3.2-5
local/libvterm 0.3.3-1
local/libwacom 2.11.0-1
local/libx11 1.8.9-1
local/libxau 1.0.11-2
local/libxcb 1.17.0-1
local/libxcrypt 4.4.36-1
local/libxdamage 1.1.6-1
local/libxdmcp 1.1.5-1
local/libxext 1.3.6-1
local/libxfixes 6.0.1-1
local/libxft 2.3.8-1
local/libxi 1.8.1-1
local/libxkbcommon 1.7.0-2
local/libxkbcommon-x11 1.7.0-2
local/libxkbfile 1.1.3-1
local/libxml2 2.12.7-1
local/libxmu 1.2.1-1
local/libxrender 0.9.11-1
local/libxshmfence 1.3.2-1
local/libxt 1.3.0-1
local/libxv 1.0.12-1
local/libxvmc 1.0.14-1
local/libxxf86vm 1.1.5-1
local/licenses 20240206-1
local/linux 6.9.1.arch1-2
local/linux-api-headers 6.8-1
local/linux-firmware 20240510.b9d2bf23-1
local/linux-firmware-whence 20240510.b9d2bf23-1
local/linux-lts 6.6.31-2
local/llvm-libs 17.0.6-5
local/lm_sensors 1:3.6.0.r41.g31d1f125-2
local/lua51-lpeg 1.1.0-2
local/luajit 2.1.1713773202-1
local/lz4 1:1.9.4-3
local/lzo 2.10-5
local/m4 1.4.19-3
local/make 4.4.1-2
local/man-db 2.12.1-1
local/man-pages 6.8-1
local/md4c 0.5.2-1
local/mesa 1:24.0.8-1
local/mkinitcpio 39.1-1
local/mkinitcpio-busybox 1.36.1-1
local/mobile-broadband-provider-info 20240407-1
local/mpfr 4.2.1-3
local/msgpack-c 5.0.0-2
local/mtdev 1.1.6-2
local/ncurses 6.5-2
local/neovim 0.10.0-3
local/nettle 3.9.1-1
local/networkmanager 1.46.0-2
local/nftables 1:1.0.9-3
local/npth 1.7-1
local/nspr 4.35-2
local/nss 3.100-1
local/openssh 9.7p1-2
local/openssl 3.3.0-1
local/p11-kit 0.25.3-1
local/pacman 6.1.0-3
local/pacman-contrib 1.10.6-1
local/pacman-mirrorlist 20231001-1
local/pam 1.6.1-2
local/pambase 20230918-1
local/pango 1:1.52.2-1
local/patch 2.7.6-10
local/pciutils 3.12.0-1
local/pcre 8.45-4
local/pcre2 10.43-4
local/pcsclite 2.2.2-1
local/perl 5.38.2-1
local/perl-error 0.17029-5
local/perl-mailtools 2.21-7
local/perl-timedate 2.33-5
local/pinentry 1.3.0-1
local/pixman 0.43.4-1
local/pkgconf 2.1.1-1
local/polkit 124-2
local/popt 1.19-1
local/procps-ng 4.0.4-3
local/psmisc 23.7-1
local/qrencode 4.1.1-2
local/qt5-base 5.15.13+kde+r147-1 (qt5)
local/qt5-translations 5.15.13-1 (qt5)
local/readline 8.2.010-1
local/screen 4.9.1-2
local/screenfetch 3.9.1-3
local/sed 4.9-3
local/shadow 4.15.1-2
local/shared-mime-info 2.4-1
local/slang 2.3.3-2
local/sqlite 3.46.0-1
local/starship 1.19.0-1
local/sudo 1.9.15.p5-1
local/systemd 255.6-2
local/systemd-libs 255.6-2
local/systemd-sysvcompat 255.6-2
local/tar 1.35-2
local/texinfo 7.1-2
local/tpm2-tss 4.0.1-1
local/tree-sitter 0.22.6-1
local/tree-sitter-lua 0.1.0-2 (tree-sitter-grammars)
local/tree-sitter-query 0.3.0-1 (tree-sitter-grammars)
local/tree-sitter-vimdoc 2.5.1-2 (tree-sitter-grammars)
local/tslib 1.23-1
local/tzdata 2024a-2
local/unibilium 2.1.1-2
local/util-linux 2.40.1-1
local/util-linux-libs 2.40.1-1
local/vi 1:070224-6
local/wayland 1.22.0-1
local/which 2.21-6
local/wireguard-tools 1.0.20210914-2
local/wpa_supplicant 2:2.10-8
local/xcb-imdkit 1.0.8-1
local/xcb-proto 1.17.0-2
local/xcb-util 0.4.1-1
local/xcb-util-image 0.4.1-2
local/xcb-util-keysyms 0.4.1-4
local/xcb-util-renderutil 0.3.10-1
local/xcb-util-wm 0.4.2-1
local/xdg-utils 1.2.1-1
local/xf86-video-intel 1:2.99.917+923+gb74b67f0-2 (xorg-drivers)
local/xkeyboard-config 2.41-1
local/xorg-xprop 1.2.7-1 (xorg-apps xorg)
local/xorg-xset 1.2.5-1 (xorg-apps xorg)
local/xorgproto 2024.1-2
local/xz 5.6.1-3
local/zeromq 4.3.5-2
local/zlib 1:1.3.1-2
local/zstd 1.5.6-1
OS 設定の調整や BIOS でのチューニング等はどちらも行ってない状態。
電源と有線LAN のみ繋いで別マシンから SSH した状態で、こんな感じで UnixBench を実行。
git clone https://github.com/kdlucas/byte-unixbench
cd byte-unixbench/UnixBench
./Run
UnixBench を使ったのは今回が初めてだったが、実行方法や結果の見方については IDCF のブログが分かりやすく参考になった。
テストの設定を弄ることはできるが、今回は上記の通り特に弄らず単純な実行にした。
- Index テスト
- SPARCstation 20 SM61 という 1997年ごろのマシンを基準にして、その何倍の性能があるかという値らしい
- 少しググった感じ UnixBench の結果は Index スコアで見ることが多そうだった
- 1 並列テスト + 4 並列テスト
- たまたまではあるが今回はどっちのマシンも論理コア数が 4 なのでこうなる(1並列+論理コア数並列)
- 論理コア数が違う CPU で比較する場合はちゃんとどうやるか考えて設定した方が良さそう
- グラフィックのテストも無し
- 今のところデスクトップ運用の予定も無いため
ベンチマーク
ということで早速ベンチマーク結果
スコア
1並列テスト
テスト項目 | NUC7i5BNH ( i5-7260U ) | mini-s12 ( N100 ) | 比率(N100 / i5-7260U) |
---|---|---|---|
Dhrystone 2 using register variables | 3932.5 | 4615.2 | 117 |
Double-Precision Whetstone | 1398.6 | 1267.6 | 91 |
Execl Throughput | 730.6 | 1005.5 | 138 |
File Copy 1024 bufsize 2000 maxblocks | 1391.2 | 3166.2 | 228 |
File Copy 256 bufsize 500 maxblocks | 861.7 | 2105.5 | 244 |
File Copy 4096 bufsize 8000 maxblocks | 3099.6 | 4991.8 | 161 |
Pipe Throughput | 557.5 | 1414.1 | 254 |
Pipe-based Context Switching | 400.2 | 497.6 | 124 |
Process Creation | 663.9 | 601.7 | 91 |
Shell Scripts (1 concurrent) | 1856.8 | 938.3 | 51 |
Shell Scripts (8 concurrent) | 3860.3 | 3361.0 | 87 |
System Call Overhead | 238.9 | 753.1 | 315 |
System Benchmarks Index Score | 1117.4 | 1553.0 | 139 |
4並列テスト
テスト項目 | NUC7i5BNH ( i5-7260U ) | mini-s12 ( N100 ) | 比率(N100 / i5-7260U) |
---|---|---|---|
Dhrystone 2 using register variables | 8692.0 | 15695.7 | 181 |
Double-Precision Whetstone | 4980.6 | 4321.2 | 87 |
Execl Throughput | 1980.4 | 3144.1 | 159 |
File Copy 1024 bufsize 2000 maxblocks | 3235.8 | 9937.2 | 307 |
File Copy 256 bufsize 500 maxblocks | 2026.5 | 7038.2 | 347 |
File Copy 4096 bufsize 8000 maxblocks | 7333.4 | 10036.2 | 137 |
Pipe Throughput | 1281.6 | 4822.1 | 376 |
Pipe-based Context Switching | 872.2 | 1483.9 | 170 |
Process Creation | 1711.5 | 2566.4 | 150 |
Shell Scripts (1 concurrent) | 4018.0 | 3438.5 | 86 |
Shell Scripts (8 concurrent) | 4064.2 | 3651.4 | 90 |
System Call Overhead | 513.7 | 2567.5 | 500 |
System Benchmarks Index Score | 2521.8 | 4595.0 | 182 |
参考までに表にまとめる前の実行結果そのものも貼っておく(折りたたみ)
Intel BOXNUC7i5BNK
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com
------------------------------------------------------------------------------
Use directories for:
* File I/O tests (named fs***) = /home/shida/work/byte-unixbench/UnixBench/tmp
* Results = /home/shida/work/byte-unixbench/UnixBench/results
------------------------------------------------------------------------------
1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
1 x Execl Throughput 1 2 3
1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
1 x File Copy 256 bufsize 500 maxblocks 1 2 3
1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
1 x Process Creation 1 2 3
1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
1 x Shell Scripts (1 concurrent) 1 2 3
1 x Shell Scripts (8 concurrent) 1 2 3
4 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
4 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
4 x Execl Throughput 1 2 3
4 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
4 x File Copy 256 bufsize 500 maxblocks 1 2 3
4 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
4 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
4 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
4 x Process Creation 1 2 3
4 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
4 x Shell Scripts (1 concurrent) 1 2 3
4 x Shell Scripts (8 concurrent) 1 2 3
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: nuc: GNU/Linux
OS: GNU/Linux -- 6.8.9-arch1-2 -- #1 SMP PREEMPT_DYNAMIC Tue, 07 May 2024 21:35:54 +0000
Machine: x86_64 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz (4401.3 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 1: Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz (4401.3 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 2: Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz (4401.3 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 3: Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz (4401.3 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
02:05:59 up 3 min, 1 user, load average: 0.00, 0.00, 0.00; runlevel
------------------------------------------------------------------------
Benchmark Run: Thu May 16 2024 02:05:59 - 02:34:01
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 45891792.9 lps (10.0 s, 7 samples)
Double-Precision Whetstone 7692.3 MWIPS (9.9 s, 7 samples)
Execl Throughput 3141.8 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 550917.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 142615.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1797793.4 KBps (30.0 s, 2 samples)
Pipe Throughput 693561.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 160071.6 lps (10.0 s, 7 samples)
Process Creation 8364.9 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 7872.9 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2316.2 lpm (60.0 s, 2 samples)
System Call Overhead 358305.3 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 45891792.9 3932.5
Double-Precision Whetstone 55.0 7692.3 1398.6
Execl Throughput 43.0 3141.8 730.6
File Copy 1024 bufsize 2000 maxblocks 3960.0 550917.9 1391.2
File Copy 256 bufsize 500 maxblocks 1655.0 142615.0 861.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 1797793.4 3099.6
Pipe Throughput 12440.0 693561.4 557.5
Pipe-based Context Switching 4000.0 160071.6 400.2
Process Creation 126.0 8364.9 663.9
Shell Scripts (1 concurrent) 42.4 7872.9 1856.8
Shell Scripts (8 concurrent) 6.0 2316.2 3860.3
System Call Overhead 15000.0 358305.3 238.9
========
System Benchmarks Index Score 1117.4
------------------------------------------------------------------------
Benchmark Run: Thu May 16 2024 02:34:01 - 03:02:05
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 101436061.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 27393.1 MWIPS (9.9 s, 7 samples)
Execl Throughput 8515.8 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 1281363.4 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 335383.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 4253356.0 KBps (30.0 s, 2 samples)
Pipe Throughput 1594339.7 lps (10.0 s, 7 samples)
Pipe-based Context Switching 348898.0 lps (10.0 s, 7 samples)
Process Creation 21564.7 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 17036.2 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2438.5 lpm (60.0 s, 2 samples)
System Call Overhead 770526.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 101436061.3 8692.0
Double-Precision Whetstone 55.0 27393.1 4980.6
Execl Throughput 43.0 8515.8 1980.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 1281363.4 3235.8
File Copy 256 bufsize 500 maxblocks 1655.0 335383.0 2026.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 4253356.0 7333.4
Pipe Throughput 12440.0 1594339.7 1281.6
Pipe-based Context Switching 4000.0 348898.0 872.2
Process Creation 126.0 21564.7 1711.5
Shell Scripts (1 concurrent) 42.4 17036.2 4018.0
Shell Scripts (8 concurrent) 6.0 2438.5 4064.2
System Call Overhead 15000.0 770526.7 513.7
========
System Benchmarks Index Score 2521.8
Beelink MINI S12 Pro
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com
------------------------------------------------------------------------------
Use directories for:
* File I/O tests (named fs***) = /home/shida/byte-unixbench/UnixBench/tmp
* Results = /home/shida/byte-unixbench/UnixBench/results
------------------------------------------------------------------------------
Wide character in print at ./Run line 1643.
Wide character in printf at ./Run line 1674.
1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
1 x Execl Throughput 1 2 3
1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
1 x File Copy 256 bufsize 500 maxblocks 1 2 3
1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
1 x Process Creation 1 2 3
1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
1 x Shell Scripts (1 concurrent) 1 2 3
1 x Shell Scripts (8 concurrent) 1 2 3
Wide character in printf at ./Run line 1574.
4 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
4 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
4 x Execl Throughput 1 2 3
4 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
4 x File Copy 256 bufsize 500 maxblocks 1 2 3
4 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
4 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
4 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
4 x Process Creation 1 2 3
4 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
4 x Shell Scripts (1 concurrent) 1 2 3
4 x Shell Scripts (8 concurrent) 1 2 3
Wide character in printf at ./Run line 1574.
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: mini-s12: GNU/Linux
OS: GNU/Linux -- 6.9.1-arch1-2 -- #1 SMP PREEMPT_DYNAMIC Wed, 22 May 2024 13:47:07 +0000
Machine: x86_64 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) N100 (1613.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 1: Intel(R) N100 (1613.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 2: Intel(R) N100 (1613.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 3: Intel(R) N100 (1613.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
17:41:24 up 1 min, 1 user, load average: 0.00, 0.00, 0.00; runlevel
------------------------------------------------------------------------
Benchmark Run: 土 5月 25 2024 17:41:24 - 18:09:24
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 53859000.5 lps (10.0 s, 7 samples)
Double-Precision Whetstone 6971.9 MWIPS (9.9 s, 7 samples)
Execl Throughput 4323.6 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 1253799.0 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 348457.3 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2895259.5 KBps (30.0 s, 2 samples)
Pipe Throughput 1759188.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 199027.5 lps (10.0 s, 7 samples)
Process Creation 7581.6 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 3978.4 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2016.6 lpm (60.0 s, 2 samples)
System Call Overhead 1129682.6 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 53859000.5 4615.2
Double-Precision Whetstone 55.0 6971.9 1267.6
Execl Throughput 43.0 4323.6 1005.5
File Copy 1024 bufsize 2000 maxblocks 3960.0 1253799.0 3166.2
File Copy 256 bufsize 500 maxblocks 1655.0 348457.3 2105.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 2895259.5 4991.8
Pipe Throughput 12440.0 1759188.5 1414.1
Pipe-based Context Switching 4000.0 199027.5 497.6
Process Creation 126.0 7581.6 601.7
Shell Scripts (1 concurrent) 42.4 3978.4 938.3
Shell Scripts (8 concurrent) 6.0 2016.6 3361.0
System Call Overhead 15000.0 1129682.6 753.1
========
System Benchmarks Index Score 1553.0
------------------------------------------------------------------------
Benchmark Run: 土 5月 25 2024 18:09:24 - 18:37:26
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 183168554.4 lps (10.0 s, 7 samples)
Double-Precision Whetstone 23766.7 MWIPS (9.9 s, 7 samples)
Execl Throughput 13519.5 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 3935120.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 1164819.9 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 5820979.8 KBps (30.0 s, 2 samples)
Pipe Throughput 5998746.3 lps (10.0 s, 7 samples)
Pipe-based Context Switching 593551.3 lps (10.0 s, 7 samples)
Process Creation 32336.0 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 14579.3 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2190.9 lpm (60.1 s, 2 samples)
System Call Overhead 3851302.0 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 183168554.4 15695.7
Double-Precision Whetstone 55.0 23766.7 4321.2
Execl Throughput 43.0 13519.5 3144.1
File Copy 1024 bufsize 2000 maxblocks 3960.0 3935120.9 9937.2
File Copy 256 bufsize 500 maxblocks 1655.0 1164819.9 7038.2
File Copy 4096 bufsize 8000 maxblocks 5800.0 5820979.8 10036.2
Pipe Throughput 12440.0 5998746.3 4822.1
Pipe-based Context Switching 4000.0 593551.3 1483.9
Process Creation 126.0 32336.0 2566.4
Shell Scripts (1 concurrent) 42.4 14579.3 3438.5
Shell Scripts (8 concurrent) 6.0 2190.9 3651.4
System Call Overhead 15000.0 3851302.0 2567.5
========
System Benchmarks Index Score 4595.0
消費電力
アイドル中およびベンチマークの各テスト中のピーク時消費電力もまとめてみた。 測定方法はワットチェッカー目視確認なのであくまで参考程度。
テスト項目 | NUC7i5BNH ( i5-7260U ) | mini-s12 ( N100 ) | 比率(N100 / i5-7260U) |
---|---|---|---|
(idle) | 6.9 | 4.7 | 68 |
1 x Dhrystone 2 using register variables | 20.9 | 14.9 | 71 |
1 x Double-Precision Whetstone | 18.3 | 13.3 | 73 |
1 x Execl Throughput | 19.3 | 13.6 | 70 |
1 x File Copy 1024 bufsize 2000 maxblocks | 18.8 | 13.9 | 74 |
1 x File Copy 256 bufsize 500 maxblocks | 18.5 | 13.3 | 72 |
1 x File Copy 4096 bufsize 8000 maxblocks | 20.8 | 17.6 | 85 |
1 x Pipe Throughput | 17.5 | 13.1 | 75 |
1 x Pipe-based Context Switching | 26.3 | 16.0 | 61 |
1 x Process Creation | 22.2 | 10.7 | 48 |
1 x System Call Overhead | 17.5 | 12.6 | 72 |
1 x Shell Scripts (1 concurrent) | 23.6 | 10.9 | 46 |
1 x Shell Scripts (8 concurrent) | 34.1 | 21.6 | 63 |
4 x Dhrystone 2 using register variables | 34.6 | 21.8 | 63 |
4 x Double-Precision Whetstone | 30.7 | 18.0 | 59 |
4 x Execl Throughput | 32.0 | 19.2 | 60 |
4 x File Copy 1024 bufsize 2000 maxblocks | 30.4 | 24.9 | 82 |
4 x File Copy 256 bufsize 500 maxblocks | 28.6 | 20.0 | 70 |
4 x File Copy 4096 bufsize 8000 maxblocks | 33.7 | 24.7 | 73 |
4 x Pipe Throughput | 27.1 | 17.7 | 65 |
4 x Pipe-based Context Switching | 30.4 | 17.1 | 56 |
4 x Process Creation | 32.7 | 18.9 | 58 |
4 x System Call Overhead | 25.8 | 15.8 | 61 |
4 x Shell Scripts (1 concurrent) | 35.5 | 22.2 | 63 |
4 x Shell Scripts (8 concurrent) | 36.0 | 23.0 | 64 |
結果の考察
素人なりに結果を眺めた感想としてはこんな感じ。
- 全体的なスコアは上がっていながら消費電力は下がっている
- 電力効率は世代なりに進化している
- 各テストでのシングルからマルチでの伸び幅は N100 の方が大きい
- マルチコアでの処理効率も世代なりに進化している
- シングルコアでの整数や浮動少数演算の結果は大きな変化がなく、 Shell Scripts 系のテストも i5 の方が上
- 単純な計算能力って意味だと何やかんや電力使ってクロック上げることの恩恵が大きそう(ベースクロックは i5-7260U が上)
- File Copy 系のスコアは大きく向上している
- CPU 内でのキャッシュ性能(メモリ性能も?)が上がった影響とかだろうか
- この辺は電力使ってクロック上げることの影響が小さいのかも
各テストの結果を個別に見ると色々妄想はできるがひとまず全体を見ると、電力消費量は7割前後に抑えつつ、総合スコアはシングルで約1.4倍、マルチで約1.8倍程度の性能になっていた。 こうやって買い替えた意味があったことをちゃんと数値で確認できたのは良かった。
おわりに
Linux マシンのベンチマークみたいなものは今回初めてやって、 色々調べたりデータ移したり PC を何度も繋ぎ変えたりと手間はかかったものの、ベンチマークに関する知見や各種スクリプト整備の口実も得られたので良かった。
また、そこまでスペックが必要でないなら今回買った N100 のような低スペック/省電力 CPU を買うものだと漠然と思っていたのだが、 今回ベンチマークしながら色々調べてる中でこういう話も見つけたので、電力消費/効率を優先するなら必ずしもそれがベストってわけでも無さそう、というのも知った。 (単純な購入金額とかの話もあるので、今回買ったのは失敗だったとかそういう話ではなく「へー」と思ったという話)
今回サーバマシンを置き換えてスペックは上がったものの、今の所 WireGuard のサーバ的な使い方しかしてなくて、リソースはほとんど余っている。 折角買い替えたので他にも色々動かして遊ぼうとは思っており、今のところは別途 Synology の NAS キット( ds220j )で賄っている自宅 NAS の機能をこっちに持ってくるのを画策している。