Vultr에는 인스턴스 타입이 여러 종류 있는데, 어떤 것을 선택해야 유리한지 판단하기 위해 알아보자.
비교 대상
비교하려는 대상은 다음과 같다.
- Shared - Regular Performance
- 2 vCPUs, 4 GB, $20.00 /mo (vc2-2c-4gb)
- Shared - High Frequency
- 2 vCPUs, 4GB, $24.00 /mo (vhf-2c-4gb)
- Shared - High Performance (AMD)
- 2 vCPUs, 4 GB, $24.00 /mo (vhp-2c-4gb-amd)
- Shared - High Performance (Intel)
- 2 vCPUs, 4 GB, $24.00 /mo (vhp-2c-4gb-intel)
- Dedicated - General Purpose
- 1 vCPUs, 4 GB, $30.00 /mo (voc-g-1c-4gb-30s)
각각 구성과 가격이 달라 완전 동일한 조건으로 비교하기는 어렵지만, 그나마 비슷한 조건 비교하고자 RAM 용량이 4GB로 동일한 플랜을 선택했다.
High Frequency나 High Performance가 Regular Performance에서 좀 더 웃돈 주고 쓸만한 가치가 있는지, 듀얼 코어 Shared와 싱글 코어 Dedicated 중 어떤 것이 유리한지 판단하고자 한다.
운영체제는 모두 동일하게 Ubuntu 24.04 LTS로 진행했다.
CPU 모델 확인
어떤 CPU를 사용하고 있는지 알아보자.
cat /proc/cpuinfo
vc2-2c-4gb
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel Xeon Processor (Cascadelake)
stepping : 6
microcode : 0x1
cpu MHz : 2992.968
cache size : 16384 KB
physical id : 0
siblings : 2
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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq clflushopt clwb avx512cd avx512bw avx512vl xsaveopt arat pku ospke avx512_vnni
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi
bogomips : 5985.93
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel Xeon Processor (Cascadelake)
stepping : 6
microcode : 0x1
cpu MHz : 2992.968
cache size : 16384 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq clflushopt clwb avx512cd avx512bw avx512vl xsaveopt arat pku ospke avx512_vnni
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi
bogomips : 5985.93
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
vhf-2c-4gb
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel Core Processor (Skylake, IBRS)
stepping : 3
microcode : 0x1
cpu MHz : 3695.998
cache size : 16384 KB
physical id : 0
siblings : 2
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 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed gds bhi
bogomips : 7391.99
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel Core Processor (Skylake, IBRS)
stepping : 3
microcode : 0x1
cpu MHz : 3695.998
cache size : 16384 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
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 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed gds bhi
bogomips : 7391.99
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
Skylake..? 대체 언제적 꺼야... 뭐 이름대로 클럭은 높다.
vhp-2c-4gb-amd
processor : 0
vendor_id : AuthenticAMD
cpu family : 23
model : 49
model name : AMD EPYC-Rome Processor
stepping : 0
microcode : 0x1000065
cpu MHz : 1996.249
cache size : 512 KB
physical id : 0
siblings : 2
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 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 clflushopt clwb sha_ni xsaveopt clzero xsaveerptr wbnoinvd arat umip rdpid
bugs : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso
bogomips : 3992.49
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : AuthenticAMD
cpu family : 23
model : 49
model name : AMD EPYC-Rome Processor
stepping : 0
microcode : 0x1000065
cpu MHz : 1996.249
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
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 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 clflushopt clwb sha_ni xsaveopt clzero xsaveerptr wbnoinvd arat umip rdpid
bugs : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso
bogomips : 3992.49
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
vhp-2c-4gb-intel
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel Xeon Processor (Cascadelake)
stepping : 6
microcode : 0x1
cpu MHz : 2992.968
cache size : 16384 KB
physical id : 0
siblings : 2
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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq clflushopt clwb avx512cd avx512bw avx512vl xsaveopt arat pku ospke avx512_vnni
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi
bogomips : 5985.93
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel Xeon Processor (Cascadelake)
stepping : 6
microcode : 0x1
cpu MHz : 2992.968
cache size : 16384 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq clflushopt clwb avx512cd avx512bw avx512vl xsaveopt arat pku ospke avx512_vnni
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi
bogomips : 5985.93
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
voc-g-1c-4gb-30s
processor : 0
vendor_id : AuthenticAMD
cpu family : 25
model : 1
model name : AMD EPYC-Milan Processor
stepping : 1
microcode : 0x1000065
cpu MHz : 3249.996
cache size : 512 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 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid clflushopt clwb sha_ni xsaveopt xsaves clzero xsaveerptr wbnoinvd arat umip pku ospke rdpid fsrm
bugs : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass srso
bogomips : 6499.99
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
싱글 스레드 벤치마크
sysbench cpu --events=10000 --cpu-max-prime=20000 --time=0 run
vc2-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 414.05
General statistics:
total time: 24.1498s
total number of events: 10000
Latency (ms):
min: 2.10
avg: 2.41
max: 7.96
95th percentile: 2.91
sum: 24128.10
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 24.1281/0.00
vhf-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 403.39
General statistics:
total time: 24.7887s
total number of events: 10000
Latency (ms):
min: 2.04
avg: 2.47
max: 56.80
95th percentile: 2.81
sum: 24746.03
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 24.7460/0.00
vhp-2c-4gb-amd
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1118.24
General statistics:
total time: 8.9418s
total number of events: 10000
Latency (ms):
min: 0.73
avg: 0.89
max: 3.49
95th percentile: 1.21
sum: 8933.45
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 8.9334/0.00
vhp-2c-4gb-intel
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 471.37
General statistics:
total time: 21.2132s
total number of events: 10000
Latency (ms):
min: 2.09
avg: 2.12
max: 3.19
95th percentile: 2.18
sum: 21208.89
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 21.2089/0.00
voc-g-1c-4gb-30s
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1658.85
General statistics:
total time: 6.0277s
total number of events: 10000
Latency (ms):
min: 0.59
avg: 0.60
max: 1.83
95th percentile: 0.62
sum: 6024.08
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 6.0241/0.00
멀티 스레드 벤치마크
sysbench cpu --events=10000 --cpu-max-prime=20000 --time=0 --threads=2 run
vc2-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 2
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 829.33
General statistics:
total time: 12.0561s
total number of events: 10000
Latency (ms):
min: 2.10
avg: 2.41
max: 3.86
95th percentile: 2.86
sum: 24091.16
Threads fairness:
events (avg/stddev): 5000.0000/241.00
execution time (avg/stddev): 12.0456/0.00
vhf-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 2
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 930.64
General statistics:
total time: 10.7438s
total number of events: 10000
Latency (ms):
min: 2.04
avg: 2.15
max: 3.11
95th percentile: 2.52
sum: 21474.00
Threads fairness:
events (avg/stddev): 5000.0000/20.00
execution time (avg/stddev): 10.7370/0.00
vhp-2c-4gb-amd
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 2
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 2603.66
General statistics:
total time: 3.8398s
total number of events: 10000
Latency (ms):
min: 0.72
avg: 0.77
max: 2.49
95th percentile: 0.92
sum: 7673.56
Threads fairness:
events (avg/stddev): 5000.0000/13.00
execution time (avg/stddev): 3.8368/0.00
vhp-2c-4gb-intel
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 2
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 934.77
General statistics:
total time: 10.6963s
total number of events: 10000
Latency (ms):
min: 2.10
avg: 2.14
max: 3.02
95th percentile: 2.22
sum: 21381.73
Threads fairness:
events (avg/stddev): 5000.0000/16.00
execution time (avg/stddev): 10.6909/0.00
voc-g-1c-4gb-30s
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 2
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1651.57
General statistics:
total time: 6.0543s
total number of events: 10000
Latency (ms):
min: 0.57
avg: 1.21
max: 3.39
95th percentile: 1.64
sum: 12101.16
Threads fairness:
events (avg/stddev): 5000.0000/1.00
execution time (avg/stddev): 6.0506/0.00
메모리 읽기 테스트
sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=read --time=0 run
vc2-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: read
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (7759951.93 per second)
102400.00 MiB transferred (7578.08 MiB/sec)
General statistics:
total time: 13.5105s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 0.93
95th percentile: 0.00
sum: 5429.05
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 5.4291/0.00
vhf-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: read
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (7530089.43 per second)
102400.00 MiB transferred (7353.60 MiB/sec)
General statistics:
total time: 13.9238s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 22.08
95th percentile: 0.00
sum: 5556.97
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 5.5570/0.00
vhp-2c-4gb-amd
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: read
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (7364487.01 per second)
102400.00 MiB transferred (7191.88 MiB/sec)
General statistics:
total time: 14.2374s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 1.43
95th percentile: 0.00
sum: 5310.89
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 5.3109/0.00
vhp-2c-4gb-intel
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: read
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (8380560.28 per second)
102400.00 MiB transferred (8184.14 MiB/sec)
General statistics:
total time: 12.5104s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 0.11
95th percentile: 0.00
sum: 4876.82
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 4.8768/0.00
voc-g-1c-4gb-30s
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: read
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (10159008.88 per second)
102400.00 MiB transferred (9920.91 MiB/sec)
General statistics:
total time: 10.3210s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 0.57
95th percentile: 0.00
sum: 3537.14
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 3.5371/0.00
메모리 쓰기 테스트
sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=write --time=0 run
vc2-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (5168687.37 per second)
102400.00 MiB transferred (5047.55 MiB/sec)
General statistics:
total time: 20.2854s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 1.54
95th percentile: 0.00
sum: 11562.32
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 11.5623/0.00
vhf-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (6715248.16 per second)
102400.00 MiB transferred (6557.86 MiB/sec)
General statistics:
total time: 15.6134s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 0.80
95th percentile: 0.00
sum: 8255.78
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 8.2558/0.00
vhp-2c-4gb-amd
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (6505878.98 per second)
102400.00 MiB transferred (6353.40 MiB/sec)
General statistics:
total time: 16.1164s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 1.05
95th percentile: 0.00
sum: 7438.09
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 7.4381/0.00
vhp-2c-4gb-intel
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (6548113.32 per second)
102400.00 MiB transferred (6394.64 MiB/sec)
General statistics:
total time: 16.0118s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 0.66
95th percentile: 0.00
sum: 8298.33
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 8.2983/0.00
voc-g-1c-4gb-30s
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (8272959.88 per second)
102400.00 MiB transferred (8079.06 MiB/sec)
General statistics:
total time: 12.6742s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 0.64
95th percentile: 0.00
sum: 5705.51
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 5.7055/0.00
디스크 테스트
sysbench --test=fileio --file-total-size=8G prepare
sysbench fileio --file-total-size=8G --file-test-mode=rndrw --time=300 --max-requests=0 run
sysbench --test=fileio --file-total-size=8G cleanup
vc2-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 64MiB each
8GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 3267.70
writes/s: 2178.47
fsyncs/s: 6971.42
Throughput:
read, MiB/s: 51.06
written, MiB/s: 34.04
General statistics:
total time: 300.0068s
total number of events: 3725258
Latency (ms):
min: 0.00
avg: 0.08
max: 38.93
95th percentile: 0.22
sum: 297027.89
Threads fairness:
events (avg/stddev): 3725258.0000/0.00
execution time (avg/stddev): 297.0279/0.00
vhf-2c-4gb
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 64MiB each
8GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 4221.14
writes/s: 2814.09
fsyncs/s: 9005.50
Throughput:
read, MiB/s: 65.96
written, MiB/s: 43.97
General statistics:
total time: 300.0035s
total number of events: 4812174
Latency (ms):
min: 0.00
avg: 0.06
max: 30.42
95th percentile: 0.17
sum: 297623.45
Threads fairness:
events (avg/stddev): 4812174.0000/0.00
execution time (avg/stddev): 297.6234/0.00
vhp-2c-4gb-amd
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 64MiB each
8GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 2829.45
writes/s: 1886.30
fsyncs/s: 6036.28
Throughput:
read, MiB/s: 44.21
written, MiB/s: 29.47
General statistics:
total time: 300.0095s
total number of events: 3225589
Latency (ms):
min: 0.00
avg: 0.09
max: 61.24
95th percentile: 0.21
sum: 298662.78
Threads fairness:
events (avg/stddev): 3225589.0000/0.00
execution time (avg/stddev): 298.6628/0.00
vhp-2c-4gb-intel
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 64MiB each
8GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 5211.70
writes/s: 3474.47
fsyncs/s: 11118.43
Throughput:
read, MiB/s: 81.43
written, MiB/s: 54.29
General statistics:
total time: 300.0040s
total number of events: 5941364
Latency (ms):
min: 0.00
avg: 0.05
max: 4.07
95th percentile: 0.15
sum: 297912.27
Threads fairness:
events (avg/stddev): 5941364.0000/0.00
execution time (avg/stddev): 297.9123/0.00
voc-g-1c-4gb-30s
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 64MiB each
8GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 3846.70
writes/s: 2564.47
fsyncs/s: 8206.53
Throughput:
read, MiB/s: 60.10
written, MiB/s: 40.07
General statistics:
total time: 300.0070s
total number of events: 4385294
Latency (ms):
min: 0.00
avg: 0.07
max: 4.55
95th percentile: 0.16
sum: 299030.94
Threads fairness:
events (avg/stddev): 4385294.0000/0.00
execution time (avg/stddev): 299.0309/0.00
결론
vc2-2c-4gb | vhf-2c-4gb | vhp-2c-4gb-amd | vhp-2c-4gb-intel | voc-g-1c-4gb-30s | |
명시된 스펙 | 2 vCPUs, 4 GB | 2 vCPUs, 4GB | 2 vCPUs, 4GB | 2 vCPUs, 4GB | 1 vCPUs, 4GB |
CPU 모델 | Intel Xeon Cascadelake | Intel Skylake | AMD EPYC-Rome | Intel Xeon Cascadelake | AMD EPYC-Milan |
싱글 스레드 | 414.05 | 403.39 | 1118.24 | 471.37 | 1658.85 |
멀티 스레드 | 829.33 | 930.64 | 2603.66 | 934.77 | 1651.57 |
메모리 읽기 | 7578.08 | 7353.60 | 7191.88 | 8184.14 | 9920.91 |
메모리 쓰기 | 5047.55 | 6557.86 | 6353.40 | 6394.64 | 8079.06 |
디스크 | 51.06 34.04 |
65.96 43.97 |
44.21 29.47 |
81.43 54.29 |
60.10 40.07 |
가격 | $20.00 /mo | $24.00 /mo | $24.00 /mo | $24.00 /mo | $30.00 /mo |
다음은 각각 성능에 따른 순위 및 가성비를 고려한 추천 플랜 및 비추천 플랜이다.
싱글 스레드 성능
voc-g-1c-4gb-30s > vhp-2c-4gb-amd > vhp-2c-4gb-intel > vc2-2c-4gb > vhf-2c-4gb
High Frequency 플랜은 구형 아키텍처라 그런지 Regular 보다도 (차이가 크진 않지만) 뒤쳐진다. 😱
High Performance 플랜은 같은 가격임에도 AMD와 Intel 차이가 크다.
Dedicated 플랜은 예상한대로 1등.
멀티 스레드 성능
vhp-2c-4gb-amd > voc-g-1c-4gb-30s > vhp-2c-4gb-intel > vhf-2c-4gb > vc2-2c-4gb
High Frequency 플랜이 이번에는 Regular를 앞섰다. High Performance - Intel과 비슷한 수준. 그래도 이걸 4달러나 더 주고 쓸 필요가 있나? 😕
High Performance - AMD 플랜이 싱글 대비 2배 넘게 오르며 압도적 1등.
Dedicated 플랜은 1 코어 짜리를 골라서 그런지 싱글 스레드 성능과 별 차이 없다. 오히려 살짝 떨어졌다. 그래도 2등. 이쪽도 멀티 코어였다면 달랐을까?
메모리 읽기 성능
voc-g-1c-4gb-30s > vhp-2c-4gb-intel > vc2-2c-4gb > vhf-2c-4gb > vhp-2c-4gb-amd
메모리 쓰기 성능
voc-g-1c-4gb-30s > vhf-2c-4gb > vhp-2c-4gb-intel > vhp-2c-4gb-amd > vc2-2c-4gb
디스크 성능
vhp-2c-4gb-intel > vhf-2c-4gb > voc-g-1c-4gb-30s > vc2-2c-4gb > vhp-2c-4gb-amd
Regular만 일반 SSD이고, 나머진 NVME SSD이다. 그런 거 치고는 별 차이 없다.
👉 Vultr 가입하기 👈
※ 본 글에서 사용한 명령어는 서버 성능측정 (벤치마크 방법)을 참고했다.