性能测试分析之CPU篇.ppt

性能测试分析之CPU篇.ppt

ID:52604713

大小:831.87 KB

页数:15页

时间:2020-04-11

性能测试分析之CPU篇.ppt_第1页
性能测试分析之CPU篇.ppt_第2页
性能测试分析之CPU篇.ppt_第3页
性能测试分析之CPU篇.ppt_第4页
性能测试分析之CPU篇.ppt_第5页
资源描述:

《性能测试分析之CPU篇.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、性能测试分析之CPU篇目录Linux系统结构简介用户态CPU消耗分析内核态CPU消耗分析硬中断&软中断Loadaverage剖析Linux系统结构Linux系统结构几种CPU消耗Us%usercputime(or)%CPUtimespentinuserspaceSy%systemcputime(or)%CPUtimespentinkernelspaceNi%usernicecputime(or)%CPUtimespentonlowpriorityprocessesId%idlecputime(or)%CPUtimespenti

2、dleWa%iowaitcputime(or)%CPUtimespentinwait(ondisk)Hi%hardwareirq(or)%CPUtimespentservicing/handlinghardwareinterruptsSi%softwareirq(or)%CPUtimespentservicing/handlingsoftwareinterruptsSt%stealtime--%CPUtimeininvoluntarywaitbyvirtualcpuwhilehypervisorisservicinganoth

3、erprocessor(or)%CPUtimestolenfromavirtualmachineCPU调度用户态CPU例1:程序cpuusr%瓶颈问题定位。模拟程序TestMap主线程:死循环阻塞线程1:sleep线程2:循环mapfind操作执行命令:top–H–p7152用户态CPU执行命令:pstack7152分析过程:通过top–H–pXX发现线程7153占用cpu特别高通过pstack发现线程7153在做map查询操作,大量的红黑树查找操作。用户态CPU例2:程序cpuusr%瓶颈问题定位。(如果线程cpu消耗比较均

4、衡)执行:perftop-p7152-ecycles:u参考案例:VTDU因CPU消耗过高回滚内核态CPU例3:定位sy%消耗过高问题执行:perftop-pxxxx-ecycles:k内核态CPU上下文切换(只会发生在内核态)当前执行任务时间片用完,cpu正常调度下一个任务。I/O阻塞抢占锁资源,用户代码挂起(sleep),等待条件变量硬中断&软中断例4:程序问题造成大量的上下文切换执行:TestCsw程序开启100个线程,每个线程usleep(1*1000)硬中断&软中断网卡中断为例:频繁的数据包收发会耗尽cpu时间多核c

5、pu,如何做中断负载均衡?多队列网卡:只需配置每个队列的cpu亲和性,smp_affinity。单队列网卡:先通过RPS模拟出多队列再最cpu亲和性。RPS:根据数据包源地址、目的地址和源端口做hash,来选择不同cpu。RFS:RPS负载均衡的优化。Loadaverage剖析loadaverageSystemloadaveragesistheaveragenumberofprocessesthatareeitherinarunableoruninterruptablestate. Aprocessinarunnablesta

6、teiseitherusingtheCPUorwaitingtousetheCPU. A process in  uninterruptablestateiswaitingforsomeI/Oaccess,  eg  waitingfordisk. Theaveragesaretakenoverthethreetimeintervals. LoadaveragesarenotnormalizedforthenumberofCPUsinasystem,soaload  averageof1meansasingleCPUsyste

7、misloadedallthetimewhileona4CPUsystemitmeansitwasidle75%ofthetime.进程状态Loadaverage剖析例5:TASK_UNINTERRUPTIBLE状态进程过多导致load飙高执行:LoadTest程序调用vfork(),父进程进入D状态例6:TASK_INTERRUPTIBLE状态线程不会增加Load执行:LoadTest程序每个线程执行sleep进入S状态

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。