Google Cloud Platformに関する作業などがブラウザから簡単に行うことができるCloud Shell。
外出先等でちょっと用事があるときに非常に便利ですよね。
今回はこのCloud ShellのベンチマークをUnixBenchで採ってみました。
ところで、Cloud ShellはGCEのg1-smallらしいです。(ブースト時はn1-standard-1)
前はg1-smallではなくf1-microだった気がするんですけど、気のせいですかね?
Contents
特徴
・Compute Engine での一時的な仮想マシン インスタンス
・ウェブブラウザからインスタンスへのコマンドライン アクセス
・組み込みのコードエディタ ベータ版
・5 GB の永続ディスク ストレージ
・プレインストールされた Google Cloud SDK とその他のツール
・Java、Go、Python、Node.js、PHP、Ruby、.NET への言語対応
・ウェブ プレビュー機能
・GCP Console のプロジェクトとリソースに対するアクセスのビルトイン承認
https://cloud.google.com/shell/docs/features
通常はCloud Shellを開いた時、g1-smallがプロビジョニングされます。
ブーストモードを有効にした場合はn1-standard-1としてプロビジョニングされます。
サーバースペック
g1-small
0.5 基の仮想 CPU と 1.70 GB のメモリを備え、共有物理コアを基盤とした共有コア マシンタイプ。
https://cloud.google.com/compute/docs/machine-types
:~$ free -m
total used free shared buff/cache available
Mem: 1695 362 463 0 869 1180
Swap: 0 0 0
:~$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
overlay overlay 31G 22G 8.4G 73% /
tmpfs tmpfs 848M 0 848M 0% /dev
tmpfs tmpfs 848M 0 848M 0% /sys/fs/cgroup
/dev/sda1 ext4 31G 22G 8.4G 73% /root
/dev/sdb1 ext4 4.8G 12M 4.6G 1% /home
overlayfs overlay 1.0M 108K 916K 11% /etc/ssh/keys
tmpfs tmpfs 848M 720K 847M 1% /run/metrics
shm tmpfs 64M 0 64M 0% /dev/shm
overlayfs overlay 1.0M 108K 916K 11% /etc/ssh/ssh_host_dsa_key
tmpfs tmpfs 848M 0 848M 0% /run/google/devshell
n1-standard-1
1 基の仮想 CPU と 3.75 GB のメモリを備えた標準マシンタイプ。
https://cloud.google.com/compute/docs/machine-types
~$ free -m
total used free shared buff/cache available
Mem: 3698 352 2171 0 1175 3119
Swap: 0 0 0
:~$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
overlay overlay 31G 23G 8.3G 73% /
tmpfs tmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 ext4 31G 23G 8.3G 73% /root
/dev/sdb1 ext4 4.8G 12M 4.6G 1% /home
overlayfs overlay 1.0M 108K 916K 11% /etc/ssh/keys
tmpfs tmpfs 1.9G 676K 1.9G 1% /run/metrics
shm tmpfs 64M 0 64M 0% /dev/shm
overlayfs overlay 1.0M 108K 916K 11% /etc/ssh/ssh_host_rsa_key
tmpfs tmpfs 1.9G 0 1.9G 0% /run/google/devshell
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU @ 2.50GHz
stepping : 4
microcode : 0x1
cpu MHz : 2500.000
cache size : 30720 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm pti fsgsbase tsc_adjust smep erms xsaveopt
bugs : cpu_meltdown spectre_v1 spectre_v2 l1tf
bogomips : 5000.00
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
UnixBench
通常時
通常時のUnixBench。
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: cs-6000-devshell-vm-xxxxxx: GNU/Linux
OS: GNU/Linux -- 4.14.33+ -- #1 SMP Sat Aug 11 08:05:16 PDT 2018
Machine: x86_64 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Xeon(R) CPU @ 2.50GHz (5000.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
00:35:02 up 15 min, 2 users, load average: 0.14, 0.33, 0.20; runlevel
------------------------------------------------------------------------
Benchmark Run: Mon Aug 20 2018 00:35:02 - 01:04:05
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 29138732.1 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2942.8 MWIPS (13.0 s, 7 samples)
Execl Throughput 1947.3 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 200275.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 56955.0 KBps (30.1 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 538326.0 KBps (30.0 s, 2 samples)
Pipe Throughput 310676.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 79299.3 lps (10.0 s, 7 samples)
Process Creation 5724.0 lps (30.1 s, 2 samples)
Shell Scripts (1 concurrent) 3252.4 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 397.4 lpm (60.2 s, 2 samples)
System Call Overhead 180235.1 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 29138732.1 2496.9
Double-Precision Whetstone 55.0 2942.8 535.1
Execl Throughput 43.0 1947.3 452.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 200275.9 505.7
File Copy 256 bufsize 500 maxblocks 1655.0 56955.0 344.1
File Copy 4096 bufsize 8000 maxblocks 5800.0 538326.0 928.1
Pipe Throughput 12440.0 310676.5 249.7
Pipe-based Context Switching 4000.0 79299.3 198.2
Process Creation 126.0 5724.0 454.3
Shell Scripts (1 concurrent) 42.4 3252.4 767.1
Shell Scripts (8 concurrent) 6.0 397.4 662.3
System Call Overhead 15000.0 180235.1 120.2
========
System Benchmarks Index Score 475.7
ブーストモード
ブーストモードを有効にしたときのUnixBench。
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: cs-6000-devshell-vm-xxxxx: GNU/Linux
OS: GNU/Linux -- 4.14.33+ -- #1 SMP Sat Aug 11 08:05:16 PDT 2018
Machine: x86_64 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Xeon(R) CPU @ 2.50GHz (5000.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
01:12:24 up 10:31, 2 users, load average: 0.26, 0.10, 0.03; runlevel
------------------------------------------------------------------------
Benchmark Run: Mon Aug 20 2018 01:12:24 - 01:40:32
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 30024941.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3797.8 MWIPS (9.8 s, 7 samples)
Execl Throughput 3630.8 lps (29.5 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 332742.6 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 90811.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 903244.8 KBps (30.0 s, 2 samples)
Pipe Throughput 487114.9 lps (10.0 s, 7 samples)
Pipe-based Context Switching 115958.0 lps (10.0 s, 7 samples)
Process Creation 10922.9 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 6742.0 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 838.9 lpm (60.0 s, 2 samples)
System Call Overhead 276681.1 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 30024941.0 2572.8
Double-Precision Whetstone 55.0 3797.8 690.5
Execl Throughput 43.0 3630.8 844.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 332742.6 840.3
File Copy 256 bufsize 500 maxblocks 1655.0 90811.0 548.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 903244.8 1557.3
Pipe Throughput 12440.0 487114.9 391.6
Pipe-based Context Switching 4000.0 115958.0 289.9
Process Creation 126.0 10922.9 866.9
Shell Scripts (1 concurrent) 42.4 6742.0 1590.1
Shell Scripts (8 concurrent) 6.0 838.9 1398.1
System Call Overhead 15000.0 276681.1 184.5
========
System Benchmarks Index Score 770.0
Index Score
通常時とブーストモードで3回UnixBenchを走らせた結果デス。
通常時 | ブーストモード | g1-small | n1-standard-1 | f1-micro | |
---|---|---|---|---|---|
1 | 475.7 | 770.0 | 847.7 | 1313.6 | 152.1 |
2 | 483.0 | 768.8 | - | - | - |
3 | 476.8 | 769.0 | - | - | - |
おまけ
比較のため、f1-micro, g1-small, n1-standard-1のUnixBenchも採ったので載せておきます。
g1-small
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: g1small: GNU/Linux
OS: GNU/Linux -- 4.9.0-7-amd64 -- #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13)
Machine: x86_64 (unknown)
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
CPU 0: Intel(R) Xeon(R) CPU @ 2.30GHz (4600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
01:53:20 up 3 min, 1 user, load average: 0.08, 0.04, 0.01; runlevel Aug
------------------------------------------------------------------------
Benchmark Run: Mon Aug 20 2018 01:53:20 - 02:22:12
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 30951363.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3507.5 MWIPS (12.2 s, 7 samples)
Execl Throughput 2996.6 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 458268.7 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 133952.0 KBps (30.1 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1218898.4 KBps (30.0 s, 2 samples)
Pipe Throughput 776309.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 135166.1 lps (10.0 s, 7 samples)
Process Creation 8439.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 4922.6 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 617.5 lpm (60.1 s, 2 samples)
System Call Overhead 527722.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 30951363.0 2652.2
Double-Precision Whetstone 55.0 3507.5 637.7
Execl Throughput 43.0 2996.6 696.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 458268.7 1157.2
File Copy 256 bufsize 500 maxblocks 1655.0 133952.0 809.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 1218898.4 2101.5
Pipe Throughput 12440.0 776309.5 624.0
Pipe-based Context Switching 4000.0 135166.1 337.9
Process Creation 126.0 8439.8 669.8
Shell Scripts (1 concurrent) 42.4 4922.6 1161.0
Shell Scripts (8 concurrent) 6.0 617.5 1029.2
System Call Overhead 15000.0 527722.7 351.8
========
System Benchmarks Index Score 847.7
n1-standard-1
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: n1standard1: GNU/Linux
OS: GNU/Linux -- 4.9.0-7-amd64 -- #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13)
Machine: x86_64 (unknown)
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
CPU 0: Intel(R) Xeon(R) CPU @ 2.30GHz (4600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
01:53:04 up 3 min, 1 user, load average: 0.19, 0.07, 0.02; runlevel Aug
------------------------------------------------------------------------
Benchmark Run: Mon Aug 20 2018 01:53:04 - 02:21:11
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 31460987.6 lps (10.0 s, 7 samples)
Double-Precision Whetstone 4176.3 MWIPS (9.9 s, 7 samples)
Execl Throughput 5369.1 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 735957.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 209307.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1854594.5 KBps (30.0 s, 2 samples)
Pipe Throughput 1130884.6 lps (10.0 s, 7 samples)
Pipe-based Context Switching 208971.2 lps (10.0 s, 7 samples)
Process Creation 15182.0 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 9874.3 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1206.0 lpm (60.0 s, 2 samples)
System Call Overhead 769258.9 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 31460987.6 2695.9
Double-Precision Whetstone 55.0 4176.3 759.3
Execl Throughput 43.0 5369.1 1248.6
File Copy 1024 bufsize 2000 maxblocks 3960.0 735957.9 1858.5
File Copy 256 bufsize 500 maxblocks 1655.0 209307.4 1264.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 1854594.5 3197.6
Pipe Throughput 12440.0 1130884.6 909.1
Pipe-based Context Switching 4000.0 208971.2 522.4
Process Creation 126.0 15182.0 1204.9
Shell Scripts (1 concurrent) 42.4 9874.3 2328.8
Shell Scripts (8 concurrent) 6.0 1206.0 2010.1
System Call Overhead 15000.0 769258.9 512.8
========
System Benchmarks Index Score 1313.6
f1-micro
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: f1micro: GNU/Linux
OS: GNU/Linux -- 4.9.0-7-amd64 -- #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13)
Machine: x86_64 (unknown)
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
CPU 0: Intel(R) Xeon(R) CPU @ 2.30GHz (4600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
01:52:55 up 2 min, 1 user, load average: 0.22, 0.10, 0.03; runlevel Aug
------------------------------------------------------------------------
Benchmark Run: Mon Aug 20 2018 01:52:55 - 02:23:43
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 17570154.4 lps (10.1 s, 7 samples)
Double-Precision Whetstone 838.1 MWIPS (28.3 s, 7 samples)
Execl Throughput 1218.6 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 161377.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 39812.8 KBps (30.1 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 330861.9 KBps (30.0 s, 2 samples)
Pipe Throughput 340018.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 62298.5 lps (10.0 s, 7 samples)
Process Creation 3822.6 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2085.7 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 288.9 lpm (60.2 s, 2 samples)
System Call Overhead 228185.5 lps (10.1 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 17570154.4 1505.6
Double-Precision Whetstone 55.0 838.1 152.4
Execl Throughput 43.0 1218.6 283.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 161377.9 407.5
File Copy 256 bufsize 500 maxblocks 1655.0 39812.8 240.6
File Copy 4096 bufsize 8000 maxblocks 5800.0 330861.9 570.5
Pipe Throughput 12440.0 340018.4 273.3
Pipe-based Context Switching 4000.0 62298.5 155.7
Process Creation 126.0 3822.6 303.4
Shell Scripts (1 concurrent) 42.4 2085.7 491.9
Shell Scripts (8 concurrent) 6.0 288.9 481.4
System Call Overhead 15000.0 228185.5 152.1
========
System Benchmarks Index Score 330.4
最後に
Index Scoreをざっと見ると、Cloud Shellはg1-smallがプロビジョニングされているとは言えだいぶ制限されているように見えます。
通常時はf1-microより少しいいぐらいで、ブースト時にg1-small相当のような感じでしょうか。
Cloud Shellは無料で使えるので勿論十分すぎるといえば十分すぎますね。