Benchmarker压测Coremark Score
作者:MeshCloud脉时云公有云架构师吴子成
引言
PerfKit Benchmarker 围绕流行的基准测试工具提供包装器和工作负载定义。它在您选择的云提供商上实例化虚拟机,自动安装基准测试,并在无需用户交互的情况下运行工作负载。
整体架构
分别在GCP和AWS创建一台测试机用于执行Benchmarker。
目标
本文旨在对不同机型的机器压测Coremark Score,分别是GCP的n2-standard-16(CPU Ice Lake)、n2-standard-16(CPU Cascade Lake)、c2-standard-16 和 e2-standard-16(broadwell),以及AWS的c5.4xlarge和m5.4xlarge机型。
本次测试统一在法兰克福节点进行。
准备工作
本次测试分别在GCP和AWS的法兰克福节点,准备一台Ubuntu 18.04 LTS的VM实例。
将以下脚本内容写到Benchmarker.sh,并执行source Benchmarker.sh。
#!/usr/bin/env bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/snap/bin export PATH Install_Packages(){ apt install software-properties-common add-apt-repository ppa:deadsnakes/ppa -y apt update apt install python3.9 -y update-alternatives –install /usr/bin/python3 python3 /usr/bin/python3.6 1 update-alternatives –install /usr/bin/python3 python3 /usr/bin/python3.9 2 apt install python3-venv -y apt install python3.9-venv -y apt install python-pip -y } Install_Benchmarker(){ python3 -m venv $HOME/my_virtualenv source $HOME/my_virtualenv/bin/activate cd $HOME git clone https://github.com/GoogleCloudPlatform/PerfKitBenchmarker.git pip install –upgrade pip pip3 install -r $HOME/PerfKitBenchmarker/requirements.txt cd PerfKitBenchmarker/ } echo && echo -e ” Script to install benchmarker ” && echo Install_Packages Install_Benchmarker |
实施步骤
1) 在GCP测试机上执行以下命令进行压测
# test N2(icelake)
./pkb.py –cloud=GCP –benchmarks=coremark –coremark_parallelism_method=SOCKET –machine_type=n2-standard-16 –gcp_min_cpu_platform=icelake –os_type=ubuntu1804 –run_stage_iterations=5 –zone=europe-west3-b
# test N2(cascadelake)
./pkb.py –cloud=GCP –benchmarks=coremark –coremark_parallelism_method=SOCKET –machine_type=n2-standard-16 –gcp_min_cpu_platform=cascadelake –os_type=ubuntu1804 –run_stage_iterations=5 –zone=europe-west3-b
# test C2
./pkb.py –cloud=GCP –benchmarks=coremark –coremark_parallelism_method=SOCKET –machine_type=c2-standard-16 –gcp_min_cpu_platform=cascadelake –os_type=ubuntu1804 –run_stage_iterations=5 –zone=europe-west3-b
# test e2
./pkb.py –cloud=GCP –benchmarks=coremark –coremark_parallelism_method=SOCKET –machine_type=e2-standard-16 –gcp_min_cpu_platform=none –os_type=ubuntu1804 –run_stage_iterations=5 –zone=europe-west3-b
2) 在AWS测试机上执行以下命令进行压测
# test c5
./pkb.py –cloud=AWS –benchmarks=coremark –coremark_parallelism_method=SOCKET –machine_type=c5.4xlarge –run_stage_iterations=5 –zone=eu-central-1
# test m5
./pkb.py –cloud=AWS –benchmarks=coremark –coremark_parallelism_method=SOCKET –machine_type=m5.4xlarge –run_stage_iterations=5 –zone=eu-central-1
压测完成后会把日志记录到
/tmp/perfkitbenchmarker/runs/路径下。
验证
统计测试结果如下表:
Cloud Provider | Machine Type | CPU Platform | vCPUs | memory | Coremark Score |
GCP | n2-standard-16 | Ice Lake | 16 | 64 | 270026 |
GCP | n2-standard-16 | Cascade Lake | 16 | 64 | 279157 |
GCP | c2-standard-16 | Cascade Lake | 16 | 64 | 314178 |
GCP | e2-standard-16 | broadwell | 16 | 64 | 221491 |
AWS | c5.4xlarge | – | 16 | 32 | 297784 |
AWS | m5.4xlarge | – | 16 | 64 | 257404 |
综合考虑机型的推荐用途,可以得到性能对比结果:
- 成本优化实例:e2-standard-16得分最低
- 通用实例:n2-standard-16 > m5.4xlarge
- 计算优化实例:c2-standard-16 > c5.4xlarge
当然,用Benchmarker压测Coremark Score只是单一基准的性能测试结果,仅作为参考。
补充
Benchmarker还支持哪些基准测试?
常用的还有fio、gpu_pcie_bandwidth、iperf等,更多基准测试可以参考: