虚拟化性能测试包括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