测试服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。
这个系列是根据这次测试项目的相关测试总结,关于各种常见性能测试及拷机软件的整理。
本章为系列1,主要介绍两款综合测试软件,一个是常用的综合跑分软件UnixBench,一个是测试脚本superbench。
常见性能测试软件
综合测试:UnixBench(综合跑分),superbench(快速脚本)
内存测试:stream
CPU测试:super_pi
网络测试:netperf
IO测试:FIO、iometer
辅助监测:sensors、top、iostat等
综合测试:1.UnixBench
UnixBench 是测试类 Unix 系统性能的老牌工具,也是常用的基准测试工具。UnixBench会会执行 11 个单项测试,根据每个测试结果与一个基线系统测试结果比较得到的索引值,这样比原始值更容易得到参考价值。所有测试项目的索引值结合在一起形成一个测试分数值,得到一个指数值。指数值越高,性能越好。
测试项
Dhrystone测试
测试聚焦在字符串处理,没有浮点运算操作。这个测试用于测试链接器编译、代码优化、内存缓存、等待状态、整数数据类型等,硬件和软件设计都会非常大的影响测试结果。
Whetstone 测试
这项测试项目用于测试浮点运算效率和速度。这项测试项目包含若干个科学计算的典型性能模块,包含大量的C语言函数,sin cos sqrt exp和日志以及使用整数和浮点的数学操作。包含数组访问、条件分支和过程调用。
Execl Throughput测试
这项测试测试每秒execl函数调用次数。本身execl.c编译出来后的执行文件是execl的二进制文件,execl函数执行的时候记录参数:开始时间,执行次数,耗时(一般都是10秒)。
File Copy测试
这项测试衡量文件数据从一个文件被传输到另外一个,使用大量的缓存。包括文件的读、写、复制测试,测试指标是一定时间内(默认是10秒)被重写、读、复制的字符数量。
Pipe Throughput(管道吞吐)测试
pipe是简单的进程之间的通讯。管道吞吐测试是测试在一秒钟一个进程写512比特到一个管道中并且读回来的次数。管道吞吐测试和实际编程有差距。
Pipe-based Context Switching (基于管道的上下文交互)测试
这项测试衡量两个进程通过管道交换和整数倍的增加吞吐的次数。基于管道的上下文切换和真实程序很类似。打开两个管道,开启两个进程,其中一个进程往管道1写,往管道2读,另一个进程往管道2写,往管道2读,一个进程完成一次读写。测试程序产生一个双向管道通讯的子线程。
Process Creation(进程创建)测试
这项测试衡量一个进程能产生子线程并且立即退出的次数。新进程真的创建进程阻塞和内存占用,所以测试程序直接使用内存带宽。这项测试用于典型的比较大量的操作系统进程创建操作。
Shell Scripts测试
shell脚本测试用于衡量在一分钟内,一个进程可以启动并停止shell脚本的次数,通常会测试1,2, 3, 4, 8 个shell脚本的共同拷贝,shell脚本是一套转化数据文件的脚本。
System Call Overhead (系统调用消耗)测试
这项测试衡量进入和离开系统内核的消耗,例如,系统调用的消耗。程序简单重复的执行getpid调用(返回调用的进程id)。消耗的指标是调用进入和离开内核的执行时间。
安装
v5.1.3版本下载地址:https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz
上传后解压压缩包tar -zxvf byte-unixbench-5.1.3.tar.gz
综合测试:2.superbench
SuperBench是一个测试linux服务器性能的脚本文件,可以让你快速方便了解一台服务器的综合性能,支持硬件基本信息、流媒体解锁检测、磁盘IO检测、CPU性能测试、以及国内和国外网络测速、网络路由追踪。
一般用来快速确认硬件信息,可以简单检测网络和CPU性能。