NIFCLOUD Type-cがリリースされたのでベンチマークしてみた

NIFCLOUDの新しいサーバータイプ Type-cが2019/4/23にリリースされました。
Type-eよりもCPUの性能に制限が掛かったTypeのようなので、測定してみました。

# SYSBENCH(CPU)

## Type-h small
```
CPU speed:
    events per second:  1051.45

General statistics:
    total time:                          10.0004s
    total number of events:              10517

Latency (ms):
         min:                                    0.93
         avg:                                    0.95
         max:                                    1.37
         95th percentile:                        1.01
         sum:                                 9992.60

Threads fairness:
    events (avg/stddev):           10517.0000/0.00
    execution time (avg/stddev):   9.9926/0.00
```
## Type-e e-small
```
CPU speed:
    events per second:   885.15

General statistics:
    total time:                          10.1905s
    total number of events:              9022

Latency (ms):
         min:                                    0.93
         avg:                                    1.13
         max:                                  508.50
         95th percentile:                        1.03
         sum:                                10182.41

Threads fairness:
    events (avg/stddev):           9022.0000/0.00
    execution time (avg/stddev):   10.1824/0.00
```
## Type-c c-small
```
CPU speed:
    events per second:   830.27

General statistics:
    total time:                          10.3588s
    total number of events:              8602

Latency (ms):
         min:                                    0.97
         avg:                                    1.20
         max:                                  421.21
         95th percentile:                        1.01
         sum:                                10354.67

Threads fairness:
    events (avg/stddev):           8602.0000/0.00
    execution time (avg/stddev):   10.3547/0.00
```

## 評価

Type-hと比べて、Type-eは15%減、Type-cは18%減に見えますね。

# UNIXBENCH

## Type-h small
```
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       37408190.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3297.7 MWIPS (16.6 s, 7 samples)
Execl Throughput                               3680.0 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        751840.6 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          199694.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       2365735.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1046250.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 209100.6 lps   (10.0 s, 7 samples)
Process Creation                              11479.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5521.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    756.9 lpm   (60.0 s, 2 samples)
System Call Overhead                        1020147.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   37408190.4   3205.5
Double-Precision Whetstone                       55.0       3297.7    599.6
Execl Throughput                                 43.0       3680.0    855.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     751840.6   1898.6
File Copy 256 bufsize 500 maxblocks            1655.0     199694.0   1206.6
File Copy 4096 bufsize 8000 maxblocks          5800.0    2365735.7   4078.9
Pipe Throughput                               12440.0    1046250.0    841.0
Pipe-based Context Switching                   4000.0     209100.6    522.8
Process Creation                                126.0      11479.7    911.1
Shell Scripts (1 concurrent)                     42.4       5521.6   1302.3
Shell Scripts (8 concurrent)                      6.0        756.9   1261.5
System Call Overhead                          15000.0    1020147.1    680.1
                                                                   ========
System Benchmarks Index Score                                        1174.3
```

## Type-e e-small
```
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       24572314.7 lps   (10.1 s, 7 samples)
Double-Precision Whetstone                     2805.8 MWIPS (9.7 s, 7 samples)
Execl Throughput                               1784.0 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        419723.8 KBps  (30.1 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          112393.0 KBps  (30.1 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1317388.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                              642509.6 lps   (10.1 s, 7 samples)
Pipe-based Context Switching                 112149.3 lps   (10.1 s, 7 samples)
Process Creation                               5857.8 lps   (30.2 s, 2 samples)
Shell Scripts (1 concurrent)                   2760.4 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    370.6 lpm   (60.1 s, 2 samples)
System Call Overhead                         606825.9 lps   (10.1 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   24572314.7   2105.6
Double-Precision Whetstone                       55.0       2805.8    510.1
Execl Throughput                                 43.0       1784.0    414.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     419723.8   1059.9
File Copy 256 bufsize 500 maxblocks            1655.0     112393.0    679.1
File Copy 4096 bufsize 8000 maxblocks          5800.0    1317388.7   2271.4
Pipe Throughput                               12440.0     642509.6    516.5
Pipe-based Context Switching                   4000.0     112149.3    280.4
Process Creation                                126.0       5857.8    464.9
Shell Scripts (1 concurrent)                     42.4       2760.4    651.0
Shell Scripts (8 concurrent)                      6.0        370.6    617.6
System Call Overhead                          15000.0     606825.9    404.6
                                                                   ========
System Benchmarks Index Score                                         668.6
```

## Type-c c-small

```
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       24675144.6 lps   (10.1 s, 7 samples)
Double-Precision Whetstone                     1691.2 MWIPS (32.9 s, 7 samples)
Execl Throughput                               1939.6 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        424038.1 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          115358.1 KBps  (30.1 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1305745.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                              660825.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 120396.5 lps   (10.0 s, 7 samples)
Process Creation                               5750.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2905.0 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    398.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         637112.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   24675144.6   2114.4
Double-Precision Whetstone                       55.0       1691.2    307.5
Execl Throughput                                 43.0       1939.6    451.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     424038.1   1070.8
File Copy 256 bufsize 500 maxblocks            1655.0     115358.1    697.0
File Copy 4096 bufsize 8000 maxblocks          5800.0    1305745.8   2251.3
Pipe Throughput                               12440.0     660825.0    531.2
Pipe-based Context Switching                   4000.0     120396.5    301.0
Process Creation                                126.0       5750.1    456.4
Shell Scripts (1 concurrent)                     42.4       2905.0    685.1
Shell Scripts (8 concurrent)                      6.0        398.0    663.4
System Call Overhead                          15000.0     637112.7    424.7
                                                                   ========
System Benchmarks Index Score                                         660.9
```

## 評価

hはもちろんスコア高いんですが、eとcにそれほど差違がない…。
整数演算はさほど差がなく浮動小数点演算だけ大差ついてるのでその辺絞ってるのかもですね。

# iperf

## Type-h small
```
Interval       Transfer     Bandwidth
 0.0-10.0 sec   10.1 GBytes  8.65 Gbits/sec
```

## Type-e e-small
```
Interval       Transfer     Bandwidth
 0.0-10.0 sec   240 MBytes   201 Mbits/sec
```

## Type-e c-small
```
Interval       Transfer     Bandwidth
  0.0-10.0 sec   120 MBytes   101 Mbits/sec
```

## 評価

hは特に帯域制限されてなさそうですが、eは200Mbps、cは100Mbps制限ですね。

# 総合評価

Type-cはType-eから帯域制限を更に厳しくしたプランって感じですね。CPUは若干下げた設定になってるのかもですね。