Pipe-based Context Switching
おすすめページ
実行方法
測定時間を短くしたい場合
./Run -i 5
- 指定しないと
./Run -i 10
が実行される。
その他
- CPUBossが性能の比較によい。
- Xeon - Wikipedia
- shell8だけ実行させる
./Run shell8
- dockerがホスト,LXC,KVMよりベンチマークで早い件 - Qiita
dockerイメージ作った
docker run -it tukiyo3/centos7-unixbench
自分が計測したもの
- System Benchmarks Index Score値。
8122.7 : Xeon(R) CPU E3-1270 v6@3.80GHz (proxmox5.1)
5835.4 : Xeon(R) CPU E3-1270 v6@3.80GHz (proxmox5.1上のkvm centos5.11)
8030.6 : Xeon(R) CPU E3-1270 v6@3.80GHz (proxmox5.1上のkvm centos6.9)
? : Xeon L5630
2016/10測定
3007.9 : i7-4790S@3.20GHz (pc)
2883.7 : PentiumG4560@3.50GHz (pc)
2029.3 : PentiumG4560@3.50GHz (kvm_local + raw + kvm64)
1984.8 : PentiumG4560@3.50GHz (kvm_lvm_thin + raw + kvm64)
1707.7 : i5-4308U@2.80GHz (kvm)
2015年末に測定
? : XeonE5-2665@2.4GHz (サーバ)
5612.8 : XeonE3-1220V2@3.10GHz (サーバ)
5259.6 : i5-4440@3.10GHz
2765.5 : Conoha VPS 1GB (一番安いの)
2711.7 : Xeon X3450@2.67GHz (サーバ)
2232.6 : Xeon X3430@2.40GHz (サーバ)
1905.0 : Xeon E5-2676 v3@2.40GHz (AWS t2.micro)
1753.7 : Xeon E5606@2.13GHz (サーバ)
1611.4 : XeonL5320@1.86GHz (サーバ)
1560.6 : XeonE5502@1.87GHz (サーバ)
1185.7 : Xeon3065@2.33GHz (サーバ)
365.6 : Atom N280@1.66GHz (dynabook UX/25KWH)
306.5 : RaspberryPi2 (1GHz)
174.6 : Atom Z540@1.86GHz (Vaio Type P)
100.9 : ARMv6@700Mhz (raspberrypi)
i5-4308U@2.80GHz(macmini@2014_MGEQ2J/A)
2763.9 : ホスト(archlinux)
3894.2 : docker
3546.5 : docker(CentOS5 i386)
2116.3 : KVM@4CPU(CentOS5 i386)
2297.5 : lxc(CentOS5 i386)
i3-3220T@2.80GHz
3209.4 : ホスト(debian7)
2650.9 : openvz@CPUs:4
XeonE5-2650v2@2.60GHz(HP_DL380pGen8)
9339.2 : ホスト
4660.9 : openvz@CPUs:8
XeonE3-1230V2@3.30GHz(server)
6105.5 : ホスト
5742.6 : openvz@CPUs:8
i7-4771@3.50GHz(designpc)
7363.5 : ホスト
6934.7 : docker
6854.2 : openvz@CPUs:8
6802.1 : KVM@1socket,8core
4754.3 : KVM@docker@2socket,4core
4705.7 : KVM@docker@1socket,8core
2626.2 : KVM@docker@1socket,2core
2102.4 : openvz@CPUs:1
Xeon3050@2.13GHz(dellsrv)
1497.8 : ホスト
1365.7 : docker
i5-2415M@2.30GHz(macmini)
1911.2 : ホスト
2728.6 : docker
PhenomII-P940-Quad-Core@1.70GHz(HP-Probook4525s)
1015.6 : ホスト
1644.6 : docker
CeleronN2806@1.60GHz(LivaPC)
538.4 : ホスト
895.5 : docker
GCE(f1-micro)
# Xeon(R) CPU @ 2.20GHz
206.0 : docker
ネットの情報
IDC Frontier Engineers' Blog
9636 : E5-2650 v2 (macpro2014)
YANO's digital garage
7178.8 : Xeon E3-1275@3.4GHz
6391.8 : Core i7-2700K@3.3GHz
5908.9 : Xeon E3-1230 V2@3.2GHz
4761.6 : Xeon E3-1220 V2@3.1GHz
4788.9 : Xeon X3450@2.67GHz
2903.1 : AMD FX-6300(OC)@4.03GHz
2614.7 : AMD FX-6300@3.5GHz
2454.5 : Core i3 2120@3.3GHz
2434.5 : Celeron G540@2.5GHz
2328.7 : Pentium G620@2.6GHz
2086.1 : Celeron G1101@2.27GHz
1553.0 : Pentium Dual-Core E6500@2.93GHz
1387.2 : Xeon E5645 (さくらのVPS)
431.0 : Celeron M@1.3GHz
Ansible
packages/book.yml
---
- hosts: target
sudo: True
tasks:
- yum: name="{{ item }}" state=present
with_items:
- make
- gcc
- perl
- perl-Time-HiRes
when: ansible_os_family == "RedHat"
- apt: name="{{ item }}" state=present
with_items:
- make
- gcc
- perl
- libtime-hires-perl
when: ansible_os_family == "Debian"
unixbench/book.yml
---
- hosts: target
tasks:
- stat: path="/opt/UnixBench"
register: bench_dir
#- name: download UnixBench5.1.3
# get_url: url=https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz
- copy: src=templates/UnixBench5.1.3.tgz dest=/opt/UnixBench5.1.3.tgz
when: not bench_dir.stat.exists
- shell: "{{ item }}"
with_items:
- (cd /opt/ && tar xzf UnixBench5.1.3.tgz && cd UnixBench && make)
when: not bench_dir.stat.exists
run.sh
ansible-playbook -i hosts "packages/book.yml" # --sudo --ask-sudo-pass
ansible-playbook -i hosts "unixbench/book.yml" # --sudo --ask-sudo-pass
実行
cd /opt/UnixBench
sudo nohup ./Run &
結果確認
grep "System Benchmarks Index Score\s" /opt/UnixBench/results/* | tail -n1
手動でインストールする場合
deb系
deb系
cat > bench.sh <<EOF
apt-get update
apt-get install -y make gcc perl libtime-hires-perl
curl -o /opt/UnixBench5.1.3.tgz https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz
cd /opt
tar xzf UnixBench5.1.3.tgz
cd UnixBench
make
./Run
EOF
実行
sudo sh bench.sh
rpm系
rpm系
# yum install -y perl-Time-HiRes
yum install -y make gcc perl tar curl
curl -o /opt/UnixBench5.1.3.tgz https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz
cd /opt/
tar xzf UnixBench5.1.3.tgz
cd UnixBench
make
./Run
ArchLinux
pacman -Sy base-devel
curl -o /opt/UnixBench5.1.3.tgz https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz
cd /opt
tar xzf UnixBench5.1.3.tgz
cd UnixBench
make
./Run
16コアを超える場合のパッチ
32コアの場合、1コアのテストしかしてくれなかったのでパッチ適用する。
- UnixBench CPUスレッド数制限解除 | ツチノコブログ
- Issue 4 - byte-unixbench - Can't do default run completely with > 16 CPUs - A Unix benchmark suite - Google Project Hosting
fix-limitation.patch
--- Run.bak 2014-11-24 06:12:08.000000000 +0900
+++ Run 2014-11-24 06:12:37.000000000 +0900
@@ -106,10 +106,10 @@
# Configure the categories to which tests can belong.
my $testCats = {
- 'system' => { 'name' => "System Benchmarks", 'maxCopies' => 16 },
+ 'system' => { 'name' => "System Benchmarks", 'maxCopies' => 0 },
'2d' => { 'name' => "2D Graphics Benchmarks", 'maxCopies' => 1 },
'3d' => { 'name' => "3D Graphics Benchmarks", 'maxCopies' => 1 },
- 'misc' => { 'name' => "Non-Index Benchmarks", 'maxCopies' => 16 },
+ 'misc' => { 'name' => "Non-Index Benchmarks", 'maxCopies' => 0 },
};
@@ -1329,7 +1329,7 @@
# If the benchmark doesn't want to run with this many copies, skip it.
my $cat = $params->{'cat'};
my $maxCopies = $testCats->{$cat}{'maxCopies'};
- next if ($copies > $maxCopies);
+ next if ($maxCopies > 0 && $copies > $maxCopies);
# Run the benchmark.
my $bresult = runBenchmark($bench, $params, $verbose, $logFile, $copies);
Macで動かす
- Macで動かす場合、Patch for UnixBench 5.1.3 on Mac OS X Mavericks (10.9)のpatchを当てる必要があります。
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz
cd UnixBench
git clone https://gist.github.com/11033924.git
patch -p1 < ./11033924/UnixBench5.1.3.mavericks.patch
./Run