欢迎来到天天文库
浏览记录
ID:46544317
大小:118.50 KB
页数:9页
时间:2019-11-25
《性能测试与分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linux性能测试与分析(1)1性能测试简介•性能测试的过程就是找到系统瓶颈的过程。•性能测试(包括分析和调优)的过程就是在操作系统的各个子系统z间取得平衡的过程。•操作系统的各个子系统包括:CPUMemory10Network他们之间高度依赖,互相影响。比如:1.频繁的磁盘读写会增加对内存的使用2.大量的网络呑叶,一定意味着非常可观的CPU利用率可用内存的减少可能增加大量的swapping,从而使系统负载上升甚至崩溃2应用程序类型性能测试之前,你首先需要判断你的应用程序是属于那种类型的,这可以帮助你判断哪个了系统可能会成为瓶颈。通常可分为如下两种:CPUbound-这类程序
2、,epu往往会处于很高的负载,当系统压力上升时,相对于磁盘和内存,彳主往CPU会首先到达瓶颈oWebserver,mailserver以及大部分服务类程序都属于这一类。I/Obound-这类程序,往往会频繁的访问磁盘,从而发送大量的10请求。10类应用程序往往利用epu发送10请求Z后,便进入sleep状态,从而造成很高的IOWAITo数据库类程序,cache服务器往往属于这种类型。CPU3.1性能瓶颈3.1.1运算性能瓶颈作为计算机的计算单元,其运算能力方面,可能出现如下瓶颈:1.用户态进程CPU占用率很高2.系统态(内核态)CPU占用率很高测试CPU的运算性能,通常是通过
3、计算I员I周率來测试CPU的浮点运算能力和稳定性。据说PentiumCPU的一个运算bug就是通过计算圆周率来发现的。圆周率的计算方法,通常是计算小数点后104万位,通过比较运算时间来评测CPU的运算能力。常用工具:1.SUPERPIO)2.Wprime与SuperPl不同的是,可以支持多核CPU的运算速度测试3.FritzChess一款国际象棋测试软件,测试每秒钟可运算的步数突破CPU的运算瓶颈,一般只能靠花钱。比如提高时钟频率,提高L1,L2cache容量或不断追求新一代的CPU架构:Core->Nehalem(E55x,如r710,dscllOO)->Westmere-
4、>Sandy-Bridge3.1.2调度性能瓶颈CPU除了负责计算之外,另一个非常重要的功能就是调度。在调度方面,CPU可能会出现如卜•性能瓶颈:1.Load平均值超过了系统可承受的程度2.IOWait占比过咼,导致Load上升或是引入新的磁盘瓶颈3.ContextSwitch高,导致CPU就像个搬运工一样,频繁在寄存器(CPURegister)和运行队列(runqueue)之间奔波4.硬中断CPU占比接近于100%5.软中断CPU占比接近于100%超线程超线程芯片可以使得当前线程在访问内存的间隙,处理器可以使用它的机器周期去执行另外一个线程。一个超线程的物理CPU可以被ke
5、rnel看做是两个独立的CPUo1.2典型监控参数3.2.1参数含义•LoadLoad是指CPU所有内核止在处理的任务加上处于等待队列中的进程数Z和。处于等待队列(runqueue)中的进程包括TASK_RUNNING和TASK_UNINTERRUPTIBLE两种状态的任务:>•班于可运行状态的进程>•等待不可中断任务的进程在一个双核的系统中,如果两个进程止在执行,有四个进程处于nmququc当中,那么load就是6•Nice%用户进程空间内,通过调用nice或setpriority系统调用改变过优先级的进程的CPU占用率•Iowait%CPU等待10操作的时间•Idle%C
6、PU空闲时间•Intr/s每秒钟处理的中断数•Hi%服务于IRQs的时间占比•Si%服务于SoftIRQs的时间占比•st%关于st的解释,在IBM的一份文档里,有一段描述:IBM"sdefinitionofstealtimeisactuallyprettygood:StealtimeisthepercentageoftimeavirtualCPUwaitsforarealCPUwhi1ethehypervisorisservicin£anothervirtualprocessor.1.3工作原理为了更好地理解CPU的性能参数,需要了解如下一些概念3.3.1进程及进程调度算法
7、1.什么是线程图3:进程和线程的数据结构taskstructstructurestateythread」nfo/■*runlistfarray■■mm■■pid■■groupinfo■■user•■fsflies■■signalsighand•■ProcessstateProcessinformationandkernelstackForprocessschedulingProcessaddressspaceProcessIDGroupmanagementUsermanagementFiledescri
此文档下载收益归作者所有