所有文档

          云服务器 BCC

          Linux-CPU性能测试

          本文主要介绍Linux系统中CPU性能测试工具的使用,以Centos7.6为例,主要说明如下(本次测试的参数结果仅作为参考,具体还需结合服务器自身业务情况综合判断)。

          1. 衡量指标
            一般使用以下指标衡量CPU的性能:

            • Dhrystone 2 using register variables
            • Double-Precision Whetstone
          2. 测试工具

          UnixBench是一款开源的测试 unix 系统基本性能的工具,是比较通用的测试VPS性能的工具,该工具会测试系统各个方面一系列的性能,然后将每个测试结果和一个基准值进行比较,得到一个索引值,所有测试项目的索引值结合在一起形成一个测试分数值,测试结果不仅仅取决于硬件,也取决于系统、开发库、甚至是编译器,测试执行完大约需要10-30分钟。

          同时,UnixBench也支持多CPU系统的测试,默认的行为是测试两次,第一次是单个进程的测试,第二次是多个进程的测试。

          1. 工具安装

          1)下载软件包,解压后进入unixbench目录,以unixbench-5.1.3为例

          $ wget https://soft.laozuo.org/scripts/UnixBench5.1.3.tgz
          $ tar -zxvf UnixBench5.1.3.tgz
          $ cd UnixBench

          2)make编译

          $ make

          如果在make过程中出现报错,可以依照如下的参考,安装依赖包。

          ///1.make: gcc: Command not found
          make: *** [pgms/arithoh] Error 127
          如果出现gcc报错,我们需要安装gcc依赖包
          ///
          $ yum install gcc
          ///2.Error: Please install /usr/bin/time提示错误,解决方法如下
          $ yum install time
          ///3.如果出现bash: make: command not found问题
          $ yum -y install gcc automake autoconf libtool make

          3)执行./Run开始跑分

          $ ./Run

          如果在run过程中出现报错,可以依照如下的参考,安装依赖包。

          ///3.Can't locate Time/HiRes.pm
          有的时候在运行./Run时候会出现这样的错误
          Can't locate Time/HiRes.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Run line 6.
          BEGIN failed--compilation aborted at ./Run line 6.
          解决方案也简单,只需要安装组件
          ///
          yum install perl-Time-HiRes
          //运行安装之后我们再运行./Run就可以。
          1. 参数说明

          测试过程中每个项目后面会有1 2 3 4 5 6 7 8 9 10 数字,意思是进行了10组测试,测试过程中部分内容及解释如下:

          测试项目 项目说明
          Dhrystone 2 using register variables 测试 string handling,该测试侧重字符串处理,没有浮点运算,结果受硬件设计和软件优化影响大
          Double-Precision Whetstone 测试浮点数操作的速度和效率
          Execl Throughput 此测试考察每秒钟可以执行的 execl 系统调用的次数
          File Copy 1024 bufsize 2000 maxblocks 测试从一个文件向另外一个文件传输数据的速率
          File Copy 256 bufsize 500 maxblocks 测试从一个文件向另外一个文件传输数据的速率
          File Read 4096 bufsize 8000 maxblocks 测试从一个文件向另外一个文件传输数据的速率
          Pipe-based Context Switching 测试两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数
          Pipe Throughput 一秒钟内一个进程可以向一个管道写 512 字节数据然后再读回的次数
          Process Creation 测试每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)
          Shell Scripts (8 concurrent) 测试一秒钟内一个进程可以并发地开始一个shell 脚本的 n 个拷贝的次数,n 一般取值1,2,4,8
          System Call Overhead 测试进入和离开操作系统内核的代价,即一次系统调用的代价
          上一篇
          Linux-磁盘IO性能测试
          下一篇
          Linux-网络性能测试