更新时间:2026-09-03 GMT+08:00
分享

云服务器计算性能测试指导

操作场景

本文介绍如何测试云服务器的如下性能指标,用于评估云服务器的计算性能:

  • 测试CPU性能:通过测试云服务器的加密、图片压缩/解压缩、文本压缩/解压缩等计算综合能力进行评估。
  • 测试内存带宽性能:通过Copy 、Scale、 Add、 Triad等四种内存操作进行评估。
  • 测试CPU时延:通过内核的延迟判断内核的实时性。
  • 测试内存时延:通过英特尔发布的测试用具,测试访问内存的时延。
  • 测试计算综合性能:通过类Unix系统下的开源性能测试工具UnixBench,测试系统调用、内存读写、进程、管道、运算等性能指标。

前提条件

  • 云服务器运行状态正常。
  • 云服务器已绑定弹性公网IP。
  • 云服务器内部已安装必备工具,如果没有安装请执行以下命令进行安装:
    • 测试CPU性能,需安装wget、tar工具:
      HCE OS或CentOS操作系统:
      sudo yum install -y wget tar

      Ubuntu操作系统:

      sudo apt update
      sudo apt install wget
      sudo apt install tar
    • 测试内存带宽性能,需安装wget、gcc工具:

      HCE OS或CentOS操作系统:

      sudo yum install -y wget gcc

      Ubuntu操作系统:

      sudo apt update
      sudo apt install wget
      sudo apt install gcc
    • 测试CPU时延,需安装git工具及依赖库numactl-devel:

      HCE OS或CentOS操作系统:

      sudo yum install -y git numactl-devel

      Ubuntu操作系统:

      sudo apt update
      sudo apt install git libnuma-dev numactl
    • 测试内存时延,需安装wget工具:

      HCE OS或CentOS操作系统:

      sudo yum install -y wget

      Ubuntu操作系统:

      sudo apt update
      sudo apt install wget
    • 测试计算综合性能,需安装git工具:

      HCE OS或CentOS操作系统:

      sudo yum install -y git

      Ubuntu操作系统:

      sudo apt update
      sudo apt install git

测试CPU性能

  1. 安装测试工具Geekbench。

    测试CPU性能,需要使用Geekbench工具,下面按不同版本进行介绍。

    • Geekbench 3.4.2
      1. 远程登录云服务器实例。

        详细操作,请参见Linux BMS登录方式概述

      2. 执行以下命令,下载工具安装包。
        wget http://cdn.primatelabs.com/Geekbench-3.4.2-Linux.tar.gz
      3. 执行以下命令,解压工具安装包。
        tar -zxvf Geekbench-3.4.2-Linux.tar.gz
      4. 执行以下命令,进入工具所在目录。
        cd ./dist/Geekbench-3.4.2-Linux
    • Geekbench 5.5.1
      1. 远程登录云服务器实例。

        详细操作,请参见Linux BMS登录方式概述

      2. 执行以下命令,下载工具安装包。
        wget https://cdn.geekbench.com/Geekbench-5.5.1-Linux.tar.gz
      3. 执行以下命令,解压工具安装包。
        tar -zxvf Geekbench-5.5.1-Linux.tar.gz
      4. 执行以下命令,进入工具所在目录。
        cd ./ Geekbench-5.5.1-Linux

  2. 在云服务器上,执行以下命令,测试CPU性能。

    ./geekbench_x86_64

    重复执行5次命令,保留5次的详细测试数据,最终取5次测试的平均值作为测试结果。

    如果测试正常完成,过程中未报错且软件不退出,表示测试结果符合预期。

  3. 查看CPU性能测试结果。

    在命令输出结果中,关注Integer Score、Floating Point Score取值,用于评估云服务器的CPU性能。

    Benchmark Summary
     Integer Score                3247  24554
     Floating Point Score         3312  25383

    其中,第一列表示测试项,第二列数值表示单核结果,第三列数值表示多核结果。您可以根据输出结果,记录CPU性能测试的结果。

    示例以CentOS 7.4操作系统为例介绍:

    表1 CPU性能测试的结果记录

    云服务器操作系统

    CentOS 7.4

    Flavor

    xlarge

    规格

    4U16G

    单核整形(Integer Score)

    3247

    单核浮点(Floating Point Score)

    3312

    多核整形(Integer Score)

    24554

    多核浮点(Floating Point Score)

    25383

测试内存带宽性能

  1. 安装和编译测试工具stream.c v 5.10。

    测试内存带宽性能,需要使用stream.c工具。

    1. 远程登录云服务器实例。

      详细操作,请参见Linux BMS登录方式概述

    2. 执行以下命令,下载工具安装包。
      git clone https://github.com/jeffhammond/STREAM

      或者

      wget https://raw.githubusercontent.com/jeffhammond/STREAM/master/stream.c
    3. 执行以下命令,编译工具。
      cd STREAM
      gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE=64000000 -DNTIMES=10 stream.c -o stream

  2. 在云服务器上,执行以下命令,测试内存带宽性能。

    ./stream

    重复执行5次命令,保留5次的详细测试数据,最终取5次测试的平均值作为测试结果。

    如果测试正常完成,过程中未报错且软件不退出,表示测试结果符合预期。

  3. 查看内存带宽性能测试结果。

    在命令输出结果中,关注Copy、Scale、Add和Triad取值,用于评估云服务器的内存带宽性能。

    Function    Best Rate MB/s
    Copy:           73386.5  
    Scale:          72485.5  
    Add:            81241.2  
    Triad:          81385.7 

    其中,第一列表示测试项,第二列数值表示测试项对应的内存带宽数据。您可以根据输出结果,记录内存带宽性能测试的结果。

    示例以CentOS 7.2操作系统为例介绍:

    表2 内存带宽性能测试的结果记录

    云服务器操作系统

    CentOS 7.2

    Flavor

    xlarge

    规格

    4U16G

    Copy 带宽

    73386.5

    Scale 带宽

    72485.5

    Add 带宽

    81241.2

    Trail 带宽

    81385.7

测试CPU时延

  1. 安装和编译测试工具Rt-tests 1.0。

    测试CPU时延,需要使用Rt-tests工具。

    1. 远程登录云服务器实例。

      详细操作,请参见Linux BMS登录方式概述

    2. 执行以下命令,下载工具安装包。
      git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
    3. 执行以下命令,切换至对应版本。
      cd rt-tests
      git checkout -b stable/v1.0 origin/stable/v1.0
    4. 执行以下命令,安装并编译工具。
      make all
      make install

  2. 在云服务器上,执行以下命令,测试CPU时延。

    ./cyclictest -D 20s -q

    重复执行5次命令,保留5次的详细测试数据,最终取5次测试的平均值作为测试结果。

    如果测试正常完成,过程中未报错且软件不退出,表示测试结果符合预期。

  3. 查看CPU时延测试结果。

    在命令输出结果中,关注时延的Avg取值,单位为us,用于评估云服务器的CPU时延。

    # cyclictest -D 20s -q
    # /dev/cpu_dma_latency set to 0us
    T: 0 (12323) P: 0 I:1000 C:  20000 Min:  3 Act:  8 Avg:  5 Max:  31

    其中,第一列表示测试项,第二列表示测试数值。您可以根据输出结果,记录CPU时延的结果。

    示例以CentOS 7.2操作系统为例介绍:

    表3 CPU时延测试的结果记录

    云服务器操作系统

    CentOS 7.2

    Flavor

    xlarge

    规格

    4U16G

    CPU时延(Avg)

    5 us

测试内存时延

  1. 安装和编译测试工具mlc 3.11a。

    测试内存时延,需要使用mlc 3.11a工具。

    1. 远程登录云服务器实例。

      详细操作,请参见Linux BMS登录方式概述

    2. 下载工具安装包。
      wget --no-check-certificate --no-cookies --header "Cookie: SSESS496a9a7de0a1eb537f6db5d919ea81a0=bva-AD4ri_7N1RdOVT7gGeAx8UOvop6uFx_-XBD5H4M;" https://downloadmirror.intel.com/866182/mlc_v3.12.tgz
    3. 解压并进入对应的测试目录。
      tar -zxvf mlc_v3.12.tgz
      cd Linux

  2. 在云服务器上,执行以下命令,测试内存时延。

    ./mlc --latency_matrix -e -r

    重复执行5次命令,保留5次的详细测试数据,最终取5次测试的平均值作为测试结果。

    如果测试正常完成,过程中未报错且软件不退出,表示测试结果符合预期。

    如果报错提示“echo xxxx”,请在当前系统执行以下命令后继续测试。

    echo xxxx

    其中,请使用具体报错信息替换命令中的“xxxx”。

  3. 查看内存时延测试结果。

    在命令输出结果中,关注CPU访问同NUMA的内存时延和跨NUMA的内存时延,用于评估云服务器的内存时延。

                       Numa node
    Numa node          0         1   
               0         72.4    124.6  
               1         124.6    72.4  

    其中,取第一行的数值即可,该数值表示node0的CPU访问node0和node1的内存时延。您可以根据输出结果,记录内存时延的结果。

    示例以CentOS 7.2操作系统为例介绍:

    表4 内存时延测试的结果记录

    云服务器操作系统

    CentOS 7.2

    Flavor

    xlarge

    规格

    4U16G

    同numa内存时延

    72.4

    跨numa 内存带宽

    124.8

测试计算综合性能

  1. 安装和编译测试工具UnixBench。

    测试计算综合性能,需要使用UnixBench工具。

    1. 远程登录云服务器实例。

      详细操作,请参见Linux BMS登录方式概述

    2. 执行以下命令,下载工具安装包。
      yum install -y git
      git clone https://github.com/kdlucas/byte-unixbench.git
    3. 执行以下命令,修改多核运行限制。
      cd byte-unixbench/UnixBench
      sed -i 's/0 }/128 }/g' Run

      将文件中两处maxCopies => 0改为maxCopies => 128。

  2. 在云服务器上,执行以下命令,测试计算综合性能。

    ./Run

    由于Unixbench本身采用了多次测试,该软件仅测试1次,取测试结果。

    如果测试正常完成,过程中未报错且软件不退出,表示测试结果符合预期。

  3. 查看计算综合性能测试结果。

    在命令输出结果中,会先后打印单核和多核的测试结果,分别获取单核和多核的综合计算得分(System Benchmarks Index Score),用于评估云服务器的计算综合性能。

    System Call Overhead                          15000.0    2523897.7   1682.6
    
                                                                       ========
    
    System Benchmarks Index Score                                        1499.9
    
    ------------------------------------------------------------------------
    
    ...
    
    System Call Overhead                          15000.0    5875941.4   3917.3
    
                                                                       ========
    
    System Benchmarks Index Score                                        3802.1

    示例以CentOS 7.2操作系统为例介绍:

    表5 计算综合性能测试的结果记录

    云服务器操作系统

    CentOS 7.2

    Flavor

    xlarge

    规格

    4U16G

    单核综合得分

    1499.9

    多核综合得分

    3802.1

测试CPU时延时下载rt-test工具遇到的问题

问题1:出现“fatal: Unable to look up git.kernel.org (port 9418) (Name or service not known)”报错。

可能原因:云服务器连接不上git.kernel.org,可能是网络配置拦截了Git的端口9418。

解决办法:

将下载命令中的git替换成https。

git clone https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git

问题2:提示编译报错。

问题原因:没有安装numa依赖包。

解决办法:

执行如下命令,安装依赖包。

  • HCE OS或CentOS操作系统:
    yum install -y numactl-devel
  • Ubuntu操作系统:
    apt install -y libnuma-dev

测试计算综合性能时下载Unixbench工具遇到的问题

问题1:出现“fatal: unable to access 'https://github.com/kdlucas/byte-unixbench.git/': Peer's Certificate issuer is not recognized.”报错。

问题原因:该报错表示SSL证书错误,是系统证书的问题,系统判断到这个行为会造成不良影响,所以进行了阻止,需要设置跳过SSL证书验证。

解决办法:

执行以下命令,跳过SSL证书验证。

git config --global http.sslVerify false

问题2:缺少“Time::HiRes module”。

图1 报错信息

解决办法:

执行以下命令,安装对应模块。

yum install -y perl-Time-HiRes

相关文档