扫码阅读
手机扫码阅读
CPU火焰图初探-优化0.1%
![](/theme/default/default/images/main/eye-open.png)
文章摘要
本文讨论作者在使用CPU火焰图工具async-profiler分析性能时的经历。由于Intellij自带的火焰图插件无法使用,作者选择了async-profiler作为替代工具,并在测试随机数性能时发现了一个可以优化的性能点。通过优化,CPU使用率降低了0.1%,取得了初步成果。
async-profiler工具
作者建议读者可以上网查找async-profiler的安装和使用教程,特别是其Github仓库的Wiki页面,因为文中并未详细介绍该工具。
Case代码
作者提供了测试随机数性能的Case代码,其中包含了动态QPS模型的使用示例。
优化过程
在分析main线程的火焰图后,作者发现com.okcoin.hickwall.presses.funtester.frame.execute.ThreadPoolUtil#executeTask方法中的getSecond方法消耗了较多CPU资源。该方法原本用于定时输出QPS和线程信息,作者通过替换为时间戳的方式优化了代码,从而将CPU使用率从0.53%降低到0.44%。尽管整体优化效果不大,仅为0.1%,但作者认为仍有收获。此外,作者指出火焰图中大部分CPU占用由sleep方法引起,意识到可能之前对随机数性能问题的探索结论不够明显,计划重新设计用例进行测试。
FunTester原创专题推荐
文末,作者推荐了FunTester的多个专题,包括接口功能测试、性能测试、Groovy专题,以及其他与测试相关的资源,如Java、Groovy、Go、Python专题,单元测试和白盒测试,以及社群、理论、视频内容和案例分享。
想要了解更多,点击
查看原文
FunTester的其他文章
加入社区微信群
与行业大咖零距离交流学习
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
软件研发质量管理体系建设
白皮书上线