linux查询计算机性能测试,[计算机]Linux性能测试.doc

253b171540df25e1b84436cbe50dfc72.gif[计算机]Linux性能测试.doc

Linux性能测试一、 测试计划1. 查找性能测试工具2. 确定测试工具并对其进行安装、运行3. 对运行结果进行分析4. 对此测试工具未覆盖到的性能方面,查找其他工具5. 继续分析工具测试内容6. 编写测试报告二、 CGL性能要求实时处理Linux实时系统最重要的特点就是实时性,即系统的正确性不仅仅依赖于计算的逻辑结果的正确性,还取决于输出结果时间的及时性。从这个角度看,实时系统是“一个能够在指定或者确定的时间内完成系统功能和对外部环境做出响应的系统”。按对实时性能要求的程度,实时系统可分为两类1 硬实时系统要求可确定性强,具有明确的实时约束,在某个限定的时刻之前不能完成任务将造成灾难性的后果。2 软实时系统也对时间敏感,但偶尔发生不能满足严格实时要求的情况也是允许的。Lmbench是测试Linux系统性能的实用程序集,会产生详细的结果并提供工具来处理它们。它包括一系列微型的基准,可以测量一些基本的操作系统和硬件指标* 文件的读取和概括* 读、写和复制时的内存带宽* 通过管道复制数据* 通过Unix套接字复制数据* 通过TCP/ IP套接字读取数据三、 Lmbench套件介绍一 原理和特色Lmbench 是一套简易可移植的,符合ANSI/C 标准为UNIX/POSIX 而制定的微型测评工具。它主要测试部分包括文件读写、内存操作、进程创建销毁开销、网络等性能。主要思路是在不同的存储区域之间移动数据,用以考核系统的性能。其测试的主要包括带宽(Bandwidth benchmarks)和延时(Latency benchmarks)。二 测试过程使用Linux性能测试套件Lmbench的步骤1. 到Lmbench官方网站上下载LMbench version 3.网址 解压文件并查看目录内容lmbench3/ results内容。rootserver130 Desktop tar zxvf lmbench3.tar.gzrootserver130 Desktop cd lmbench3rootserver130 lmbench3 ls results/Makefile3. 修改只读文件lmbench3/src/Makefile修改该文件的第231行,避免在使用命令make的时候出错。rootserver130 lmbench3 vim src/Makefile 使用set nu添加行号将第231行O/lmbench /scripts/lmbench bk.ver末尾的bk.ver删除使用命令wq强制保存退出4. 配置lmbench编译成功的话,就会出现一些选择提示以对测试进行配置并生成配置脚本。后续的测试将使用该配置脚本,在以后测试中也能够直接使用同样的配置多次测试。配置提示除了测试的内存范围(“MB default 1792”时,对内存较大的应该避免选择太大值,否则测试时间会很长)和是否Mail results 外,基本上都能够选择缺省值。rootserver130 lmbench3 make results cd src make resultsmake1 Entering directory /root/Desktop/lmbench3/srcgmake2 Entering directory /root/Desktop/lmbench3/srcMULTIPLE COPIES default 1 需要用户默认回车Job placement selection 1输入自己的选择(17)MB default 259其他时候用户只需默认回车Mail results default yes no不发送结果Using config in CONFIG.server1302011年 03月 22日 星期二 153816 CSTLatency measurements测量延迟2011年 03月 22日 星期二 153910 CSTCalculating file system latency计算文件系统延迟2011年 03月 22日 星期二 153912 CSTLocal networking本地网络2011年 03月 22日 星期二 154057 CSTBandwidth measurements测量带宽2011年 03月 22日 星期二 154238 CSTCalculating context switch overhead计算上下文切换的开销2011年 03月 22日 星期二 154244 CSTCalculating effective TLB size计算有效TLB的大小2011年 03月 22日 星期二 154245 CSTCalculating memory load parallelism计算内核加载平行度2011年 03月 22日 星期二 154818 CSTMcCalpins STREAM benchmarkMcCalpin流基准2011年 03月 22日 星期二 154824 CSTCalculating memory load latency计算内存负载延迟2011年 03月 22日 星期二 161203 CSTmake1 Leaving directory /root/Desktop/lmbench3/src5. 查看结果rootserver130 lmbench3 make seeBasic system parametersHost OS Description Mhz tlb cache mem scal pages line par load bytes- - - - - server130 Linux 2.6.18- x86_64-linux-gnu 2784 8 128 1.5600 1解释此项是性能基本参数,其中Tlb pages是TLB(Translation Lookaside Buffer)的页面数,Cache line bytes为总线宽度,Scal load并行的lmbench数。Processor, Processes - times in microseconds - smaller is betterHost OS Mhz null null open slct sig sig fork c sh call I/O stat clos TCP inst hndl proc proc proc- - server130 Linux 2.6.18- 2784 0.08 0.12 0.81 1.80 2.58 0.16 1.16 2095 5066 14.K解释此项显示处理器、进程的操作时间。Null call简单系统调用(取进程号)。Null I/O简单IO操作(空读写的平均)。Stat取文档状态的操作。Sig hndl捕获处理信号。Fork procFork进程后直接退出。c procFork后执行cve调用再退出Sh proc Fork后执行shell再退出。Basic integer operations - times in nanoseconds - smaller is betterContext switching - times in microseconds - smaller is better-Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw- - - -server130 Linux 2.6.18- 10.8 4.2200 22.6 4.8100 4.6900 5.15000 8.89000解释此项显示上下文切换的相关记录。2p/16K表示2个并行处理16K大小的数据。*Local* Communication latencies in microseconds - smaller is better-Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP ctxsw UNIX UDP TCP conn- - - - - - - - server130 Linux 2.6.18- 10.8 22.9 46.0 43.1 51.6 163.解释本地通信传输延时,通过不同通信方式发送后自己立即读。Pipe管道通信。TCP conn TCP建立connect并关闭描述字。File VM system latencies in microseconds - smaller is better-Host OS 0K File 10K File Mmap Prot Page 100fd Create Delete Create Delete Latency Fault Fault selct- - - - - -server130 Linux 2.6.18- 6.3736 4.8383 29.5 10.1 11.2K 9.922 29.4 1.537解释此项显示的是文件和虚拟系统传输延时。File Create Delete创建并删除文档。MMap Latency内存映射。100fd selct对100个文档描述符配置select的时间。*Local* Communication bandwidths in MB/s - bigger is better-Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem UNIX reread reread libc hand read write- - -server130 Linux 2.6.18- 2370 1134 1201 2811.2 4450.8 1264.9 1230.2 4011 1643.解释本地通信带宽。TCP TCP通信。File reread文档重复读。MMap reread内存映射重复读。Mem read内存读。Mem write内存写Memory latencies in nanoseconds - smaller is better WARNING - may not be correct, check graphsHost OS Mhz L1 L2 Main mem Rand mem Guesses- - - -server130 Linux 2.6.18- 2784 1.0970 5.5000 51.6 120.7make1 Leaving directory /root/Desktop/lmbench3/results解释内存操作延时(单位毫秒)。L1缓存1。L2缓存2。Main Mem。连续内存。Rand Mem存随机访问延时。6. 在Makefile目录下生成文件,记录本次测试的详细结果。Lmbench 根据配置文档执行测试项之后,在results目录下会根据系统类型、系统名和操作系统类型等生成一个子目录,测试结果文档(system name序号)就存放于该目录下。测试完毕执行make see 可查看到测试结果报告及其说明。rootserver130 lmbench3 ls results/Makefile x86_64-linux-gnurootserver130 lmbench3 ls results/x86_64-linux-gnu/server130.0 rootserver130 lmbench3 ll results/x86_64-linux-gnu/总计 28-rw-rr 1 root root 25462 03-22 1612 server130.0rootserver130 lmbench3 cat results/x86_64-linux-gnu/server130.0 | morelmbench3.0 results for Linux server130 2.6.18-128.7NFS 1 SMP Thu Aug 26 101303 EDT 2010 x86_64 x86_64 x86_64 GNU/LinuxLMBENCH_VER BENCHMARK_HARDWARE YESBENCHMARK_OS YESALL 512 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1m 2m 4m 8m 16m 32m 64m 128m总结Lmbench是一套微基准,可以用来分析不同操作系统的设定。包括Lmbench在内的基准可以度量多种操作系统的例行程序,如上下文转换、本地通讯、内存带宽和文件操作。Lmbench使用很简单,只需要知道三个重要的命令。 make results首次运行Lmbench时,它会提示系统配置的一些详细信息和哪些测试会被执行。 make rerun在初始化配置并完成首次运行基准后,使用make rerun命令可以重复基准使用由make results提供的配置。 make see在运行最少三次后,可以使用make see命令查看结果。显示的结果可以被复制到制表软件用于后续分析或图形化展示。四、 使用其他工具测试Linux性能1. vmstat监视内存vmstat命令可对操作系统的命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息进行监视。如加上-s参数会显示系统初始化后调页事件的绝对计数rootserver130 vmstatprocs -memory -swap -io system -cpu r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 19456 67776 130284 0 0 179 25 1031 216 3 2 93 2 0解释其中, r运行队列中的进程数,在一个稳定的工作量下应该少于5。而b表示等待队列中的进程数等待I/O,通常情况下是接近0的。bi表示向一个块设备输出的块数量。in每秒发生的中断数量,包括时钟。cs每秒发生的context switches的数量。us非内核代码运行的时间(用户时间,包括nice时间)。sy内核代码运行的时间(系统时间)。Wa显示的是等待I/O操作的时间。1)显示详细的内核内存利用率rootserver130 vmstat -mCache Num Total Size Pagesfib6_nodes 5 59 64 59ip6_dst_cache 4 12 320 12ndisc_cache 1 15 256 152)显示内存页面信息,包括活跃和不活跃的内存页面rootserver130 vmstat -aprocs -memory -swap -io system -cpu r b swpd free inact active si so bi bo in cs us sy id wa st 0 0 0 21224 144440 161740 0 0 110 19 1024 201 2 2 95 1 03)将总数结构中的内容写入到标准输出,该结构包含从系统初始化后调页事件的绝对计数。rootserver130 vmstat s | more 379672 total memory 358452 used memory 162180 active memory 144332 inactive memory 21220 free memory 67828 buffer memory 125664 swap cache 2. isostat监视系统输入/输出设备负载 iostat的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。它报告CPU统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入输出统计信息。rootserver130 iostat -xLinux 2.6.18-128.7NFS server130.localdomain 2011年03月18日avg-cpu user nice system iowait steal idle 1.31 0.10 1.42 0.99 0.00 96.18Device rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm utilsda 1.10 2.66 4.63 1.16 131.52 30.61 28.00 0.08 13.77 2.51 1.46sda1 1.07 2.66 4.60 1.16 131.22 30.61 28.08 0.08 13.83 2.52 1.45sda2 0.04 0.00 0.02 0.00 0.24 0.00 10.90 0.00 1.21 1.20 0.00hdc 0.00 0.00 0.00 0.00 0.03 0.00 15.53 0.00 8.47 7.41 0.00解释rrqm/s、 wrqm/s每秒进行 merge 的读/写操作数目。r/s、 w/s每秒完成的读/写 I/O 设备次数。avgrq-sz平均每次设备I/O操作的数据大小扇区。avgqu-sz平均I/O队列长度。Await平均每次设备I/O操作的等待时间毫秒。Svctm平均每次设备I/O操作的服务时间毫秒。其中,svctm 一般要小于 await 因为同时等待的请求的等待时间被重复计算了,svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间svctm 以及 I/O 队列的长度和 I/O 请求的发出模式。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢。如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用,或者升级 CPU。队列长度avgqu-sz也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O。如果 util 接近 100,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。3. 使用sar进行综合查看sar命令是系统维护的重要工具,主要帮助我们掌握系统资源的使用情况,特别是内存和CPU 的使用情况。它的特点是可以连续对系统取样,获得大量的取样数据。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等。1 使用命令行sar n o result 5 2。每5秒采样一次,连续采样2次,采样结果以二进形式存入当前目录下的文件result中。rootserver130 sar -u -o result 5 2Linux 2.6.18-128.7NFS server130 2011年03月25日10时04分05秒 CPU user nice system iowait steal idle10时04分10秒 all 0.60 0.00 0.60 0.00 0.00 98.8010时04分15秒 all 1.00 0.00 1.60 0.00 0.00 97.40Average all 0.80 0.00 1.10 0.00 0.00 98.10rootserver130 sar -u -f result查看文件result内容在显示内容包括usrCPU处在用户模式下的时间百分比。sysCPU处在系统模式下的时间百分比。wioCPU等待输入输出完成时间的百分比。idleCPU空闲时间百分比。其中,wio的值过高,表示硬盘存在I/O瓶颈。idle值高,表示CPU较空闲,如果idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。2 使用命令行sar -v 5 2。观察核心表的状态。rootserver130 sar -v 5 2Linux 2.6.18-128.7NFS server130 2011年03月25日10时07分22秒 dentunusd file-sz inode-sz super-sz super-sz dquot-sz dquot-sz rtsig-sz rtsig-sz10时07分27秒 13205 1530 19938 0 0.00 0 0.00 0 0.0010时07分32秒 13205 1530 19938 0 0.00 0 0.00 0 0.00Average 13205 1530 19938 0 0.00 0 0.00 0 0.003 使用命令行sar -v报告系统表的内容。rootserver130 sar -vLinux 2.6.18-128.7NFS server130 2011年03月25日08时29分11秒 LINUX RESTART08时40分01秒 dentunusd file-sz inode-sz super-sz super-sz dquot-sz dquot-sz rtsig-sz rtsig-sz08时50分01秒 9579 1020 5311 0 0.00 0 0.00 0 0.00Average 10834 1473 10249 0 0.00 0 0.00 0 0.00其中file-sz 目前核心中正在使用或分配的文件表的表项数。inod-sz目前核心中正在使用或分配的i节点表的表项数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值