本文摘自php中文网,作者藏色散人,侵删。
下面由golang教程栏目给大家介绍golang cpu性能分析,希望对需要的朋友有所帮助!一、分析程序的运行时间
(1)time指令(linux系统下)
1 |
|
real:从程序开始到结束,实际上度过的时间
user:程序在用户态度过的时间
sys:程序在内核度过的时间
一般情况下,real>=user+sys
(2) /usr/bin/time 指令(linux系统下)
1 |
|
该指令下 可以看到 cpu占用率、 内存使用情况、 进程切换情况 、文件系统io、socket情况
二.golang下cpu性能分析
(1)在程序中引入 _ "net/http/pprof" ,并开启pprof监听
1 |
|
1 |
|
1 |
|
通过浏览器查看 CPU的信息和状态
1 |
|
注意,等程序运??定时间,再点击profile?件?成(?少是30s)
(2)使用pprof
1 |
|
1 |
|
flat 该函数?身代码的执?时?
flat% 该函数?身代码的执?时?占?CPU的耗时百分?
cum 代表的是该函数?身代码+所有调?的函数的执?时?
cum% 代表的是该函数?身代码+所有调?的函数的执?时?,占?CPU的总耗时百分?
sum% 每??的flat%与上?所有?的flat%总和
(3)go tool pprof profile文件
启动要调试的程序,在另一个终端执行 go tool pprof http://localhost:10000/debug/pprof/profile?seconds=60
(4)可视化结构图
1 |
|
更多相关技术文章,请访问go语言教程栏目!
以上就是关于golang cpu性能分析的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
在golang中如何正确地使用database/sql包访问数据库
kotlin coroutines vs goroutines
更多相关阅读请进入《golang》频道 >>

Go语言101
一个与时俱进的Go编程知识库。