工地 > 博客pprof分析
2017-12-13
给blog程序做了个pprof分析。
先是安装 工具库
go get github.com/pkg/profile
然后再引入
import "github.com/pkg/profile"
再在入口中加入代码
defer profile.Start(profile.CPUProfile).Stop()
然后go build,ab跑需要的值。
再go tool pprof ./app pprfo文件位置,输入web指令,看到全图,能按时间占用来分析网站的问题点在哪了。
就我这次分析,一共是151s/238s。
其中
http请求头解析 13s
http相应写入 26.8s
属于硬消耗,除非不使用net/http,否则基本无法避免和优化。
fd操作:
accept fd_unix 6.07s
destory fd_unix 9.76应该也是避不过。
msgpack的反序列化是27s,比我一直预期的其实要更好。
然后大头就是redis连接使用的70s了。
直接就占了总cpu消耗的1/3了。
看来只要用了 redis库,这个数量级就逃不掉了。
唯一能优化的地方是,为了能按分类优化,我加如了一个临时前缀。
这部分走的也是redis,占用了大概占用了一般的redis消耗,这是个很大的问题。
点击登录