Amazon EC2
Amazon Web Services (以下AWS)のAmazon Elastic Compute Cloud (以下EC2)は、クラウド上に仮想サーバを持つことができるサービスです。Google Cloud Platformで言うところのGoogle Compute Engineと同じサービスになります。
T3インスタンス
このEC2で選択できるインスタンスタイプは、様々なCPU, GPU, メモリを選択できるものでした。今回新たにT3インスタンスが追加され、従来のT2インスタンスよりコスト効率に優れており、t3.nanoは1ヶ月利用しても$3.8と非常に安く利用できます。また無制限にバーストすることができるので、時間帯によりアクセスが異なるサービスやバッチ処理などにも適しています。今回はこのT3インスタンスのベンチマークについて紹介したいと思います。
ベンチマーク
今回ベンチマークの対象としたのは、T3インスタンスによりvCPUが倍の設定となったインスタンスで、且つ無料対象枠であるt2.microを利用するエンジニアが多いので、t3.microとt2.microの比較としました。OSはUbuntu 16.04 LTSを、ベンチマークにはUnixBenchを使用しました(測定方法はこちらを参照)。UnixBenchは一般的にCPUベンチとして利用されています。先に結果をお伝えすると、次のようになりました(詳細はまとめの後に記しています)。
|
インスタンスタイプ |
スペック |
UnixBench |
料金 |
AWS |
t2.micro |
vCPU : 1, メモリ: 1.0 GiB |
1260.6 |
$11.10 |
AWS |
t3.micro |
vCPU : 2, メモリ: 1.0 GiB |
1906.7 |
$9.93 |
測定する前から分かっていたことではありますが、やはりvCPUの優位性からt3.microの方が倍近い値となっています。値段はというと、月額でt3.micorの方が$1ほど安くなっています。これまでT2インスタンスを利用していたエンジニアは、圧倒的にT3インスタンスを選択した方が良さそうですね。
T3インスタンスを利用するときは1点だけ注意して下さい。サーバを立ち上げるときの設定で、デフォルトで「T2/T3 Unlimited」にチェックが入っています。つまり最初からバーストする設定となっていますので、使用上は注意して下さい。もし不要である場合は「T2/T3 Unlimited」のチェックを外しましょう。
まとめ
EC2に新しくT3インスタンスが追加されました。T2インスタンスの上位互換となるため、これまでT2インスタンスを利用していたエンジニアは、T3インスタンスを活用しない手はありません。ただしバースト設定には気をつけて下さい。
参考
t2.microのUnixBench
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: ip-172-31-25-150: GNU/Linux
OS: GNU/Linux -- 4.4.0-1065-aws -- #75-Ubuntu SMP Fri Aug 10 11:14:32 UTC 2018
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz (4800.2 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
01:26:51 up 5 min, 1 user, load average: 0.24, 0.18, 0.10; runlevel 2018-08-25
------------------------------------------------------------------------
Benchmark Run: Sat Aug 25 2018 01:26:51 - 01:55:00
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 31524940.7 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3354.4 MWIPS (9.9 s, 7 samples)
Execl Throughput 4703.8 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 774516.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 201378.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2370793.9 KBps (30.0 s, 2 samples)
Pipe Throughput 1058103.6 lps (10.0 s, 7 samples)
Pipe-based Context Switching 166673.8 lps (10.0 s, 7 samples)
Process Creation 13175.7 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 8787.4 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1156.8 lpm (60.0 s, 2 samples)
System Call Overhead 930422.1 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 31524940.7 2701.4
Double-Precision Whetstone 55.0 3354.4 609.9
Execl Throughput 43.0 4703.8 1093.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 774516.9 1955.9
File Copy 256 bufsize 500 maxblocks 1655.0 201378.0 1216.8
File Copy 4096 bufsize 8000 maxblocks 5800.0 2370793.9 4087.6
Pipe Throughput 12440.0 1058103.6 850.6
Pipe-based Context Switching 4000.0 166673.8 416.7
Process Creation 126.0 13175.7 1045.7
Shell Scripts (1 concurrent) 42.4 8787.4 2072.5
Shell Scripts (8 concurrent) 6.0 1156.8 1928.0
System Call Overhead 15000.0 930422.1 620.3
========
System Benchmarks Index Score 1260.6
t3.microのUnixBench
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: ip-172-31-26-230: GNU/Linux
OS: GNU/Linux -- 4.4.0-1065-aws -- #75-Ubuntu SMP Fri Aug 10 11:14:32 UTC 2018
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz (5000.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz (5000.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
01:26:49 up 2 min, 1 user, load average: 0.24, 0.19, 0.08; runlevel 2018-08-25
------------------------------------------------------------------------
Benchmark Run: Sat Aug 25 2018 01:26:49 - 01:54:58
2 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 28166508.2 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3674.7 MWIPS (9.9 s, 7 samples)
Execl Throughput 3698.2 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 705720.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 166724.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2063727.3 KBps (30.0 s, 2 samples)
Pipe Throughput 871907.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 59834.8 lps (10.0 s, 7 samples)
Process Creation 10619.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 9395.7 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1629.7 lpm (60.0 s, 2 samples)
System Call Overhead 986754.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 28166508.2 2413.6
Double-Precision Whetstone 55.0 3674.7 668.1
Execl Throughput 43.0 3698.2 860.1
File Copy 1024 bufsize 2000 maxblocks 3960.0 705720.9 1782.1
File Copy 256 bufsize 500 maxblocks 1655.0 166724.4 1007.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 2063727.3 3558.2
Pipe Throughput 12440.0 871907.5 700.9
Pipe-based Context Switching 4000.0 59834.8 149.6
Process Creation 126.0 10619.8 842.8
Shell Scripts (1 concurrent) 42.4 9395.7 2216.0
Shell Scripts (8 concurrent) 6.0 1629.7 2716.2
System Call Overhead 15000.0 986754.7 657.8
========
System Benchmarks Index Score 1098.9
------------------------------------------------------------------------
Benchmark Run: Sat Aug 25 2018 01:54:58 - 02:23:10
2 CPUs in system; running 2 parallel copies of tests
Dhrystone 2 using register variables 42774906.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 6419.9 MWIPS (10.2 s, 7 samples)
Execl Throughput 6575.4 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 1090355.4 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 278507.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 3415961.6 KBps (30.0 s, 2 samples)
Pipe Throughput 1486583.0 lps (10.0 s, 7 samples)
Pipe-based Context Switching 233333.0 lps (10.0 s, 7 samples)
Process Creation 21641.6 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 13118.0 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1715.4 lpm (60.0 s, 2 samples)
System Call Overhead 1831347.4 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 42774906.3 3665.4
Double-Precision Whetstone 55.0 6419.9 1167.3
Execl Throughput 43.0 6575.4 1529.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 1090355.4 2753.4
File Copy 256 bufsize 500 maxblocks 1655.0 278507.4 1682.8
File Copy 4096 bufsize 8000 maxblocks 5800.0 3415961.6 5889.6
Pipe Throughput 12440.0 1486583.0 1195.0
Pipe-based Context Switching 4000.0 233333.0 583.3
Process Creation 126.0 21641.6 1717.6
Shell Scripts (1 concurrent) 42.4 13118.0 3093.9
Shell Scripts (8 concurrent) 6.0 1715.4 2859.0
System Call Overhead 15000.0 1831347.4 1220.9
========
System Benchmarks Index Score 1906.7