Linux性能测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux性能测试
一、测试计划
1.查找性能测试工具
2.确定测试工具并对其进行安装、运行
3.对运行结果进行分析
4.对此测试工具未覆盖到的性能方面,查找其他工具
5.继续分析工具测试内容
6.编写测试报告
二、C GL性能要求—实时处理
Linux实时系统最重要的特点就是实时性,即系统的正确性不仅仅依赖于计算的逻辑结果的正确性,还取决于输出结果时间的及时性。从这个角度看,实时系统是“一个能够在指定或者确定的时间内完成系统功能和对外部环境做出响应的系统”。按对实时性能要求的程度,实时系统可分为两类:
(1) 硬实时系统:要求可确定性强,具有明确的实时约束,在某个限定的时刻之前不能完成任务将造成灾难性的后果。
(2) 软实时系统:也对时间敏感,但偶尔发生不能满足严格实时要求的情况也是允许的。
Lmbench是测试Linux系统性能的实用程序集,会产生详细的结果并提供工具来处理它们。它包括一系列微型的基准,可以测量一些基本的操作系统和硬件指标:* 文件的读取和概括
* 读、写和复制时的内存带宽
* 通过管道复制数据
* 通过Unix套接字复制数据
* 通过TCP/ IP套接字读取数据
三、L mbench套件介绍
(一)原理和特色
Lmbench 是一套简易可移植的,符合ANSI/C 标准为UNIX/POSIX 而制定的微型测评工具。它主要测试部分包括文件读写、内存操作、进程创建销毁开销、网络等性能。主要思路是在不同的存储区域之间移动数据,用以考核系统的性能。其测试的主要包括:带宽(Bandwidth benchmarks)和延时(Latency benchmarks)。
(二)测试过程
使用Linux性能测试套件Lmbench的步骤:
1.到Lmbench官方网站上下载LMbench version 3.
网址:/lmbench/get_lmbench.html
2.解压文件并查看目录内容lmbench3/results内容。
3.修改只读文件lmbench3/src/Makefile
修改该文件的第231行,避免在使用命令make的时候出错。
4.配置lmbench
编译成功的话,就会出现一些选择提示以对测试进行配置并生成配置脚本。后续的测试将使用该配置脚本,在以后测试中也能够直接使用同样的配置多次测试。配置提示除了测试的内存范围(“MB [default 1792]”时,对内存较大的应该避免选择太大值,否则测试时间会很长)和是否Mail results 外,基本上都能够选择缺省值。
5.查看结果
解释:此项是性能基本参数,其中Tlb pages是TLB(Translation Lookaside Buffer)的页面数,Cache line bytes为总线宽度,Scal load:并行的lmbench数。
解释:此项显示处理器、进程的操作时间。Null call:简单系统调用(取进程号)。Null I/O:简单IO操作(空读写的平均)。Stat 取文档状态的操作。Sig hndl:捕获处理信号。Fork proc:Fork进程后直接退出。Exec proc:Fork后执行execve调用再退出:Sh proc //Fork后执行shell 再退出。
解释:此项显示上下文切换的相关记录。2p/16K表示2个并行处理16K大小的数据。
解释:本地通信传输延时,通过不同通信方式发送后自己立即读。Pipe:管道通信。TCP conn :TCP建立connect并关闭描述字。
解释:此项显示的是文件和虚拟系统传输延时。File Create & Delete:创建并删除文档。MMap Latency:内存映射。100fd selct:对100个文档描述符配置select的时间。
解释:本地通信带宽。TCP //TCP通信。File reread:文档重复读。MMap reread:内存映射重复读。Mem read:内存读。Mem write:内存写
解释:内存操作延时(单位:毫秒)。L1:缓存1。L2:缓存2。Main Mem。连续内存。Rand Mem:存随机访问延时。
6.在Makefile目录下生成文件,记录本次测试的详细结果。
Lmbench 根据配置文档执行测试项之后,在results目录下会根据系统类型、系统名和操作系统类型等生成一个子目录,测试结果文档(system name+序号)就存放于该目录下。测试完毕执行make see 可查看到测试结果报告及其说明。
总结:
Lmbench是一套微基准,可以用来分析不同操作系统的设定。包括Lmbench在内的基准可以度量多种操作系统的例行程序,如上下文转换、本地通讯、内存带宽和文件操作。Lmbench 使用很简单,只需要知道三个重要的命令。
✧make results:首次运行Lmbench时,它会提示系统配置的一些详细信息和哪些测试
会被执行。
✧make rerun:在初始化配置并完成首次运行基准后,使用make rerun命令可以重复基
准使用由make results提供的配置。
make see:在运行最少三次后,可以使用make see命令查看结果。显示的结果可以被复制到制表软件用于后续分析或图形化展示。
四、使用其他工具测试Linux性能
1.vmstat:监视内存
vmstat命令可对操作系统的命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU 活动的统计信息进行监视。如加上-s参数会显示系统初始化后调页事件的绝对计数:
解释:其中,r:运行队列中的进程数,在一个稳定的工作量下应该少于5。而b表示等待队列中的进程数(等待I/O),通常情况下是接近0的。bi表示向一个块设备输出的块数量。in:每秒发生的中断数量,包括时钟。cs:每秒发生的context switches的数量。us:非内核代码运行的时间(用户时间,包括nice时间)。sy:内核代码运行的时间(系统时间)。Wa显示的是等待I/O操作的时间。
1)显示详细的内核内存利用率
2)显示内存页面信息,包括活跃和不活跃的内存页面
3)将总数结构中的内容写入到标准输出,该结构包含从系统初始化后调页事件的绝对计数。
2.isostat:监视系统输入/输出设备负载
iostat的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。它报告CPU统计信息和整个系统、适配器、tty 设备、磁盘和CD-ROM 的输入/输出统计信息。