云平台测试——(1)宿主机性能

出于各类目的,咱们会对云平台中的虚拟机进行测试,主要测试CPU、内存、网络、硬盘的性能。shell

本节简要总结各类测试场景下的经常使用工具windows

关键词:Super PI、UnixBench、memtester、memtest86+、netperf、fio、iometer、iozone、dd网络

    1,CPU并发

  早期的虚拟化技术不成熟,这使得虚拟机的cpu在中断和上下文切换时损耗严重,随着虚拟化技术的发展,这种性能损失已经控制的比较好了,
因此当前测试CPU的主要目的是衡量计算能力。
  主要应用的测试工具备:Super PI 与 UnixBench 
tcp

  (1)Super PI简介函数

  是一款cpu密集型测试工具,原理是计算圆周率π小数点后n位,统计消耗时间,来衡量CPU的计算能力(主要浮点计算能力)
  (2)UnixBench
  是一款系统层面的基准测试套件,特色是支持多cpu系统的测试,包括“单任务性能测试、多任务性能测试、并行处理能力测试”
  测试的结果不只取决于硬件,还受系统、开发库、编译器的影响
  UnixBench的测试项目主要有9项:
    dhrystone,字符串处理测试
    whetstone,浮点运算效率和速度
    excel throughput测试,每秒excel函数的调用次数(exec函数家族的一部分)
    file copy,文件传输
    pipe throughput,进程管道写pipe并读回来的次数
    pipe-based context switch,管道上下文切换测试,与真实程序相似
    process creation,建立子线程并当即退出
    shell脚本,进程1分钟内启动并中止shell脚本的次数
    system call overhead,系统调用消耗,使用getpid,进入离开内核的执行时间
    graphic,2D3D简单测试
工具


  2,内存
  物理机与虚拟机内存性能差别主要在占用与释放,这是由于虚拟机的内存与物理内存之间被映射了2次;
  当前测试内存主要是测试内存是否有错误。
  主要2款测试工具:memtester、memtest86+
  (1)memtester
    特色:从系统中测试内存
    测试项目:随机值、异或、加减乘除等运算,结合内存大小和次数给出结果
  (2)memtest86+
    特色:引导一个小型系统来检测内存
性能

  3,网络
  网络io是虚拟化的难点和热点,虚拟机也常常遇到网络性能瓶颈与网络稳定性的问题
  常见测试用例:
    tcp吞吐
    tcp链接数
    tcp单链接多交易
    tcp发包率pps
    udp吞吐
    udp单链接多交易
    udp发包率pps
    业务模型网络模拟
  推荐测试工具:netperf
  (1)netperf介绍
测试

      针对tcp或udp传输的测试工具,能够进行不一样模式网络性能测试:
    批量数据传输模式,bulk data transfer
    请求应答模式,request response
  (2)网络测试的关键指标
    BPS,网络吞吐量,1分钟通过网卡的数据流量
    PPS,发包率,1分钟通过网卡的数据包的数量
  (3)测试的常见流量模式
    TCP三种:
    单TCP链接,传输大数据量
    单TCP链接,大链接次数
    多TCP链接,每一个链接对应RR模式
    UDP两种:
    单UDP,单向批量传输
    RR模式
  (4)测试参数-t的做用
大数据

    指定5种测试类型:

    TCP_STREAM,tcp批量传输
    UDP_STREAM,udp批量传输
    TCP_RR,屡次交易过程
    UDP_RR,屡次交易过程
    TCP_CRR,多链接场景

 

  4,硬盘
  硬盘测试主要测试吞吐量和iops,可是须要特别注意的是cache对磁盘io影响。
  (1)常见的cache

    在不一样系统层面有4种:

    guest os的buffer cache
    host os 的buffer cache
    raid卡的cache、模式
    物理disk的cache、模式
  因此测试结果须要注明软硬件环境、cache模式才有意义
  (2)测试环境推荐
    禁用物理disk的cache
    禁用raid卡的weiteback cache
    虚拟机硬盘模式设为writethough或direct io,以保证数据一致性
  (3)测试用例推荐
    1MB顺序读写——测试大数据块性能
    4KB随机读写——测试并发性能
    模拟业务场景,如
4KB顺序写 30%,8KB随机写 50%,20%随机写

  (4)测试工具:fio、iometer、iozone、dd
  fio
    用于基准和压力测试的io工具
    支持裸设备、文件系统的测试
    官方howto文档介绍的很详细,http://bluestop.org/files/fio/HOWTO.txt
  iometer
    主要windows系统下
  iozone
    针对文件系统的性能测试工具
    图形展现测试结果,软件是收费的
  dd
    系统自带的命令,无需安装
    只能测试顺序io性能
    采用oflag或iflag参数指定direct sync dsync模式

 

  最后,照例放上总结图:

相关文章
相关标签/搜索