unixbench服务器性能测试

摘要:
使用Unixbench 5测试Linux系统服务器的性能。1.简介Unixbench是类unix系统下的性能测试工具,是一种开源工具,广泛用于测试Linux系统主机的性能,称为UB。Unixbench的主要测试项目包括:系统调用、读写、处理、图形测试、2D、3D、管道、计算、C库和其他系统基准性能测试数据。此测试计算每秒的execl调用数。基于管道的上下文切换此测试计算两个进程通过管道交换不断增长的整数的次数。shellscript用于测量进程启动和重新启动一个、两个、四个和八个并发的shellscript副本的持续时间,这里是shellscript.appliesseriesoftransformationtoatafile.SystemCallOverhead。此测试估计进入和离开操作系统内核的成本。

使用 Unixbench5 进行linux系统服务器性能综合测试

1.简介
Unixbench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能,简称UB。Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。

测试项目:
Dhrystone
这个基准测试使用来计算和比较计算机性能的。由于没有浮点操作,这个测试主要集中在字符串处理上。这个测试深受以下因素的影响:硬件和软件设计,编译程序和链接程序选项,代码优化 ,高速缓冲存储器, 等待状态和整数数据类型。
Whetstone
这个测试测量浮点运算速度和效率。这个测试包含几个模块,这些模块被认为是由在典型运用在科学应用中的操作组成的混合体。 各种各样的C函数,包括sin、cos、sqrt、exp和log还有整形,浮点算术操作、数组访问、条件转移和过程调用,都使用了。 整数和浮点算术,在这个测试中都会计算。
Execl Throughput
这个测试计算每秒钟出现的execl调用数。Execl是 exec 函数家族的一部分。它用一个新的进程映像更新当前的进程映像。 它和许多其他相似的命令都是execve()的前端程序。
File Copy
这个测试测量使用不同的缓冲区大小时,数据可以从一个文件被传输到另一个的速率。文件的读写复制测试可以获得在指定时间内(默认为10秒)能够读、写、复制的字符数目。
Pipe Throughput
管道是进程间通信最简单的方式之一。管道吞吐量指的是每秒中,一个进程能将512个字节数据写入管道和从管道中回读它们的次数。这个测试在真实的程序设计中并没有对应物。
Pipe-based Context Switching
这个测试是计算两个进程通过管道交换一个增长的整数的次数。基于管道的上下文切换测试更像一个真实的应用程序。这个测试产生一个可以用来继续双向管对话的子进程。
Process Creation
这个测试计算一个进程派生和收获一个马上退出的子进程的次数。由于进程创建涉及创建进程控制块和为新的进程分配内存,因此这项测试直接取决于内存带宽。这个测试一般地会用于比较各种各样的操作系统进程创建调用的执行。
Shell Scripts
这个shells scripts测试测量每秒进程能够启动和收获一组1,2,4,8个shell脚本程序的并行的拷贝的次数。The shells scripts test measures the number of times per minute a process can start and reap a set of one, two, four and eight concurrent copies of a shell scripts where the shell script. applies a series of transformation to a data file.
System Call Overhead
这个测试是估计进入和离开操作系统内核的开销。例如执行一个系统调用的开销。它由一个简单的系统组成,这个系统重复的调用getid系统调用,getid返回调用进程的进程IS号。这个测试是用执行这些调用的时间来估算进入和离开内核的开销。
Graphical Tests
这个测试提供了2D,3D的图形化测试。报告性能不仅依赖于硬件,还与你的系统是否对硬件有合适的驱动程序有关 。

安装

yum -y install gcc gcc-c autoconf gcc-c++ time
wget http://www.ctohome.com/linux-vps-pack/unixbench-5.1.2.tar.gz
tar xzf unixbench-5.1.2.tar.gz
cd unixbench-5.1.2

默认unixbench只支持到16cores,修改参数,取消此限制

sed -i "s/GRAPHIC_TESTS = defined/#GRAPHIC_TESTS = defined/g" ./Makefile
make;
sed -i "s/"System Benchmarks", 'maxCopies' => 16/"System Benchmarks", 'maxCopies' => 0/" Run
sed -i 's/$copies > $maxCopies/$maxCopies > 0 && $copies > $maxCopies/' Run
for i in `seq 1 5`;do ./Run ;done

免责声明:文章转载自《unixbench服务器性能测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇oracle11g-linux 归档处理CSS之纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

进程间通信之AIDL

一、引言   AIDL是android内部进程通信接口的描述语言,是实现跨进程方法调用的一大利器,其中Binder和Messenger的实现机制都是AIDL。 二、使用下面结合示例说明其使用过程:   本次示例的基本要求是完成一个图书馆图书入库和在库图书列表查询的demo,   1、为了完成这个功能,我们首先需要一个实体类Book,这个实体类需要序列化,因...

linux c编程:FIFO

前面介绍的pipe属于匿名管道 管道的主要局限性正体现在它的特点上: 只支持单向数据流;  只能用于具有亲缘关系的进程之间;  没有名字;  管道的缓冲区是有限的(管道制存在于内存中,在管道创建时,为缓冲区分配一个页面大小);  管道所传送的是无格式字节流,这就要求管道的读出方和写入方必须事先约定好数据的格式,比如多少字节算作一个消息(或命令、或记录)等...

Linux被中断的系统调用

慢系统调用,指的是可能永远无法返回,从而使进程永远阻塞的系统调用,比如无客户连接时的accept、无输入时的read都属于慢速系统调用。 在Linux中,当阻塞于某个慢系统调用的进程捕获一个信号,则该系统调用就会被中断,转而执行信号处理函数,这就是被中断的系统调用。 然而,当信号处理函数返回时,有可能发生以下的情况: 如果信号处理函数是用signal注册...

C#编程总结(二)多线程基础

C#编程总结(二)多线程基础 无论您是为具有单个处理器的计算机还是为具有多个处理器的计算机进行开发,您都希望应用程序为用户提供最好的响应性能,即使应用程序当前正在完成其他工作。要使应用程序能够快速响应用户操作,同时在用户事件之间或者甚至在用户事件期间利用处理器,最强大的方式之一是使用多线程技术。 多线程:线程是程序中一个单一的顺序控制流程.在单个程序中同时...

OJ开发笔记(1)

  最近想挖坑搞个跑在linux上的OJ,查了很多资料,也读了很多大神的代码,自己有些感悟。于是把评测内核的部分功能写了出来,这里做个笔记备忘啦。   学校用的OJ是几年前的hustoj,只支持C/C++,Java和Pascal跑起来老是出现莫名奇妙的错误,感觉某学长没有搭好(╬ ̄皿 ̄)。自己想搞的OJ以后应该能支持C/C++/Java/Pascal/C#...

现代操作系统 第一章 引论 笔记

现代操作系统 封面上的趣图 什么是计算机系统? 现代计算机系统由一个或多个处理器、主存、磁盘、打印机、键盘、鼠标、显示器、网络接口以及各种其他输入/输出设备组成。 什么是操作系统? 操作系统是一个软件,它的任务是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理组成计算机系统的各种设备。 操作系统的两个功能? 1. 扩展机器(自顶向下的观点)...