虚拟化性能测试包括CPU、内存、网络、磁盘性能,也可能包含虚拟客户机动态迁移时的性能,也可能需要考虑多种物理平台上的性能,也可能需要考虑很多个虚拟客户机运行在同一个宿主机是的性能。

性能分析工具(profiling)

基准测试工具(benchmark)

评价一个系统的性能标准,一般可以用相应时间(response time)、吞吐量(throughput)、并发用户(concurrent users)和资源占用率(utilization)等几个指标来衡量。

响应时间:指的是客户端从发出请求道得到相应的整个过程所花费的时间。

吞吐量:指的是再一次性能测试过程中网络上传输的数据量的总和。

并发用户数:指的是同时使用一个系统服务的用户数量。

资源利用率:指的是在使用某项服务是,客户端和服务器端物理资源占用情况,包括CPU、内存等资源的利用率。

CPU密集型:科学计算

网络I/O密集型:web服务

磁盘I/O密集型:数据库服

内存密集型:缓存服务

CPU性能测试:

  • SPECCPU2006
  • SPECjbb2005:测试Java虚拟机(JVM),JIT编译器,垃圾回收、Java线程等各个方面,也可以对CPU、缓存、内存结构的性能进行度量。(同为内存密集型)
  • UnixBench:为类Unix系统提供了基础的衡量指标,并不是专门测试CPU的基准测试,而是测试系统的需对方面,CPU、内存、磁盘等硬件影响,也会受操作系统、程序库、编译器等软件系统的影响。

    下载链接:https://byte-unixbench.googlecode.com/files/unixbench-5.1.2.tar.gz

  • SysBench:模块化、跨平台的、支持多线程的基准测试工具,主要模拟高压力的数据库应用中的性能。主要衡量CPU调度器、内存分配和访问、文件系统I/O操作、线程创建等方面。
  • PCMark
  • 内核编译
  • Super PI:典型的CPU密集型基准测试工具。

内存性能测试

  • LMbench:带宽(bandwidth)和延迟(latency)。LMbench中包含很多简单的基准测试,覆盖了文档读写、内存操作、管道、系统调用、上下文切换、进程创建和销毁、网络等
  • Memtest86+
  • STREAM

网络性能测试

  • Netperf
  • Iperf
  • NETIO
  • SCP

硬盘I/O性能测试

  • DD
  • IOzone
  • Bonnie++
  • hdparm