您好,欢迎访问三七文档
1测试工具的使用说明1.atopatop是一个高级的Linux系统全屏性能监视器,会定期的显示CPU、内存、磁盘、网络的负载信息。在终端输入./atop会出现如下界面:2在界面中键入‘m’,就会显示每个进程的内存情况,如下图:3在界面中键入‘s’,就会显示与调度有关的进程信息,如下图:4在界面中键入‘v’,就会显示每个进程的全部信息,如下图:5在界面中键入‘c’,就会显示每个进程的命令行,如下图:系统资源监控字段含义上图中列出了不少字段以及数值,各字段的含义是什么?我们应该怎么看?以上每个字段的含义都是相对采样周期而言的,下面我们先来关注上图显示的上半部分。ATOP列:该列显示了主机名、信息采样日期和时间点PRC列:该列显示进程整体运行情况61.sys、usr字段分别指示进程在内核态和用户态的运行时间2.#proc字段指示进程总数3.#zombie字段指示僵死进程的数量4.#exit字段指示atop采样周期期间退出的进程数量CPU列:该列显示CPU整体(即多核CPU作为一个整体CPU资源)的使用情况,我们知道CPU可被用于执行进程、处理中断,也可处于空闲状态(空闲状态分两种,一种是活动进程等待磁盘IO导致CPU空闲,另一种是完全空闲)1.sys、usr字段指示CPU被用于处理进程时,进程在内核态、用户态所占CPU的时间比例2.irq字段指示CPU被用于处理中断的时间比例3.idle字段指示CPU处在完全空闲状态的时间比例4.wait字段指示CPU处在“进程等待磁盘IO导致CPU空闲”状态的时间比例CPU列各个字段指示值相加结果为N00%,其中N为cpu核数。cpu列:该列显示某一核cpu的使用情况,各字段含义可参照CPU列,各字段值相加结果为100%CPL列:该列显示CPU负载情况1.avg1、avg5和avg15字段:过去1分钟、5分钟和15分钟内运行队列中的平均进程数量2.csw字段指示上下文交换次数3.intr字段指示中断发生次数MEM列:该列指示内存的使用情况1.tot字段指示物理内存总量2.free字段指示空闲内存的大小3.cache字段指示用于页缓存的内存大小4.buff字段指示用于文件缓存的内存大小5.slab字段指示系统内核占用的内存大小SWP列:该列指示交换空间的使用情况1.tot字段指示交换区总量72.free字段指示空闲交换空间大小PAG列:该列指示虚拟内存分页情况swin、swout字段:换入和换出内存页数DSK列:该列指示磁盘使用情况,每一个磁盘设备对应一列,如果有sdb设备,那么增多一列DSK信息1.sda字段:磁盘设备标识2.busy字段:磁盘忙时比例3.read、write字段:读、写请求数量NET列:多列NET展示了网络状况,包括传输层(TCP和UDP)、IP层以及各活动的网口信息1.XXXi字段指示各层或活动网口收包数目2.XXXo字段指示各层或活动网口发包数目进程视图为了更全面地展示进程信息,atop提供了多种进程视图。默认视图(Genericinformation)进入atop信息界面,我们看到的就是进程信息的默认视图(上图下半部分),按g键可以从其他视图跳到默认视图。8从上图中,我们可以看到PID为3061的find进程在退出前在内核模式下占用了3.43秒CPU时间,在用户模式下占用了0.96秒CPU时间,共使用CPU时间为4.39秒,相对10分钟采样周期,CPU时间占用比例为1%,ST列表示进程状态,N表示该进程是前一个采样周期新生成的进程,E表示该进程已退出,EXC列指示进程的退出码。从进程名在“”符号中,我们亦可知该进程已退出。内存视图(Memoryconsumption)内存视图展示了进程使用内存情况,按m键可进入内存视图。9上图下半部分展示了每个进程占用的虚拟内存空间(VSIZE)、内存空间(RSIZE)大小,以及在上一个采样周期中虚拟内存和物理内存增长大小(VGROW、RGROW),MEM列指示进程所占物理内存大小。从上图的PAG列的信息,我们可以知道此时系统内存负载较高,出现页换出情况,从进程视图中VGROW和RGROW列可看出VirtualBox进程占用内存量大量增长,部分进程占用的内存减少(VGROW或RGROW字段为负值),为VirtualBox进程腾出空间。命令视图(Commandline)按c键我们可以进入命令视图,该视图展示了与每个进程相对应的命令。102.bonnie++1.使用说明-d:在测试时会生成一些文件,并读或更改这些文件。这个参数是设置测试文件11放置的路径。-s:单个测试文件的尺寸。这个参数值必须大于等于2倍测试使用的内存。测试时应该用大文件尺寸。-m:测试的机器名称-r:测试需要用多少内存。如果省略这个值,则会用全部的物理内存。-x:循环几次-u:指定执行测试的OS用户。当不是以root执行时,必须显式指定。-g测试文件的组,默认是执行bonnie++的当前用组。-b在每次写文件时调用fsync()函数,对于测试邮件服务器或者数据库服务器这种通常需要同步操作的情况比较适合,而不使用该参数则比较适合测试copy文件或者编译等操作的效率。2.结果分析下面看一个测试结果,通过这个结果我们解释一下到底bonnie++在测试过程中都作了什么,而每一个输出的结果又表示了什么。12依次解读一下,从Writingwithputc()开始到Deletefilesinrandomorde…结束,这是bonnie++作的12项测试,这12项测试依次对应12项结果,而这12项结果又被分为了5大类,分别是SequentialOutput(写测试),SequentialInput(读测试),RandomSeeks(读写测试),SequentialCreate(顺序读写文件测试)和RandomCreate(随意读写文件测试)。那么测试步骤和测试结果依次对应的顺序就是:Writingwithputc()-SequentialOutput的PerChrWritingintelligently-SequentialOutput的BlockRewriting-SequentialOutput的RewriteReadingwithgetc()-SequentialInput的PerChrReadingintelligently-SequentialInput的Blockstart'em-RandomSeeksCreatefilesinsequentialorder-SequentialCreate的CreateStatfilesinsequentialorder-SequentialCreate的ReadDeletefilesinsequentialorder-SequentialCreate的DeleteCreatefilesinrandomorder-RandomCreate的CreateStatfilesinrandomorder-RandomCreate的ReadDeletefilesinrandomorder-RandomCreate的Delete每个结果中又包括了2项数值,一个是K字节数或者文件数,另一个是%CP,就是执行这项测试时CPU的平均占用率。对于输出结果的评价,我们认为在相等CPU的占用率情况下,存取字节数越高表示该存储设备的吞吐量越大,自然性能也就越好。13PerChr表示以字符为单位读写文件Block表示以block为单位读写文件Rewrite表示修改并重写已经存在的文件的每一个blockK/sec表示每秒读或写文件的速率,以K为单位%CP表示在某阶段执行操作时平均消耗的CPU可以看到,该机器的字符写速度可达8909K/sec,block写速度可达20708K/sec,字符读速度可达27673K/sec,block读速度可达80684K/sec。3.DbenchTbenchDbench和Tbench是用来模拟工业标准的Netbench负载测试工具来评估文件服务器的测试工具。Dbench只产生文件系统的IO负载。14-t设置运行时间,以秒为单位。-D测试运行的基本目录测试时产生的一些文件存放位置,测试完毕后会自动把这些文件删除-c负载文件的位置Dbench和Tbench都会读取一个负载描述文件client.txt,这个文件是安装程序自带的,通过读取它来产生负载。测试结果:从上图可看到模拟100个client同时运行10秒的吞吐量68.9123MB/sec。Tbench产生TCP负载。15运行Tbench之前首先要在服务器上面启动tbench_srv。测试结果:从上图可看到模拟100个client同时运行10秒的吞吐量117.434MB/sec。4.FdtreeFdtree是一个用来测试文件系统元数据性能的工具。16参数含义:-C只创建目录树-D打开调试-R只移除目录树-l创建目录的递归等级,默认为4-d每个等级所要创建的目录个数-f每个目录下所要创建的文件个数-o开始测试时的路径名-s文件大小(是以block计算的,linux下block大小为4096Bytes),默认为10fdtree.bash–d1–l2–f10000–s10000这个例子是一个文件压力的测试,创造的目录结构的等级为2,每个等级下创建1个目录,每个目录下文件的个数为10K,每个文件的大小为10000*4096Bytes=40.96MB,总的数据大小为2*10000*40.96MB=819.2GB。fdtree.bash-d10000-l100这个例子是一个目录压力的测试,创造的目录结构的等级为100,每个等级下目17录的个数为10K。第一等级下的总目录个数为10K,第二等级下的总目录总个数为10K*10K,第三等级下的总目录个数为10K*10K*10K,依次类推!上图显示了一个Fdtree的测试结果,目录等级为4,每个等级下创建目录的个数为5,每个目录下文件的个数为3,文件大小为40KB。5.FfsbFfsb是一个文件系统性能测试工具,它通过读取可定制的profile文件来产生不18同的工作负载,支持多个线程组访问多个不同的文件系统。下图内容是一个典型的profile文件的组成形式:profile文件由三部分组成:globaloptions部分、filesystems部分、threadgroups部分.Globaloptions:在profile文件的开始部分有8个全局变量,其中有三个是必须设置的:num_filesystems指定文件系统的个数,num_threadgroups指定线程组的个数,time指定测试运行的时间。其余的5个变量是可选的,分别为:directio、alignio、bufferredi、verbose、callout:filesystems:对于ffsb来说文件系统就是一个目录,所以我们必须确保文件系统挂载到了相应的目录。在这里,我们可以设置文件系统中文件和目录的个数以及文件大小的最大值和最小值。由上图可知,文件系统的挂载位置为/mnt/leofs/,文件的数目为100,目录的数目为0,文件最大为41943040B,文件最小为41943040B。threadgroups:19在这一部分指定了线程的个数,读写文件的大小和读写块的大小。如何详细的编写profile文件可参考ffsb软件包中的README文件。Ffsb的运行方式:./ffsb[profile文件的具体位置]上图是一条ffsb命令的执行,开始时ffsb会把要执行的profile文件的主要内容列出到屏幕,如上图。运行结果见下图:20由上图可知,创建100个40MB的文件共需要时间263s,吞吐量为245MB/s,CPU的利用率为84.6%。216.FstestFstest文件系统的一个测试工具。参数含义:-n设置子进程个数-f设置文件数量-s设置文件大小-b设置块大小-p设置测试路径-l设置循环次数-S使用同步IO227.Locktests用来测试文件控制锁的功能
本文标题:测试工具的使用说明
链接地址:https://www.777doc.com/doc-4914375 .html