- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux性能分析工具二-bruceding.blog.PDF
Linux性能分析工具二
丁静 dingjingdjdj@
USE-性能分析方法
* 使用率
在⼀定时间间隔内 ,忙于处理请求的线程平均数目
* 饱和度
在⼀定时间间隔内 ,请求队列的平均长度
* 错误
处于某种原因,请求拒绝或者失败
dmesg | tail
确定性能路径
tcpdump wireshark ⽹络分析
包时间点,应用层日志
丢包分析 ,⽹络错误
tcp window 滑动窗⼝
nagle 算法, delay ack
CPU优化准则
* 减少不必要的⼯作,减少CPU使用
* 使用缓存 ,空间换时间,减少计算逻辑,LRU算法
* CPU密集型的考虑简单有效的算法,结合CPU特性,
分⽀预测,局部性等
* 优化执⾏最频繁的代码路径
* 减少复杂数据结构的使用,频繁使用的情况下 ,结
合业务场景,创造新轮⼦
CPU优化步骤
* 使用perf⽣成⽕焰图,分析热点路径
* 确定热点路径耗时情况 ,耗时波动 ,执⾏次数
* 耗时长的堆栈路径 ,输⼊参数
* 系统调用分析
CPU调度分析
* sudo perf sched record -a sleep 2
* sudo perf sched latency -s avg
* sudo perf sched latency –s max
* sudo perf sched script
CPU性能分析
* sudo perf record -F 99 -p 10805 -a --call-graph dwarf
sleep 5
* sudo perf script | ./stackcollapse-perf.pl out.perf-
folded
* ./flamegraph.pl out.perf-folded dnd.svg
获取函数时间分布
* sudo stap -v -L process(/mnt/engine/fingerprint-y/
fingerprint-y/bin/dnd).function(Register)’
* sudo stap -v histogram-user-time.stp process(/mnt/
engine/fingerprint-y/fingerprint-y/bin/
dnd).function(Register@/data/home/liaotianyi/
workspace/git/fingerprint-y/dnd/src/ DndHandler.cc)
5
获取函数时间分布
* sudo stap -v histogram-user-times.stp process(/mnt/
engine/smart-list/smart-list/bin/smart-
list-9090).function(Comp
文档评论(0)