我最近在自己用golang做web开发。
但是发现,cpu占用率总是百分之百以上的。
我用了go tool pprof 截下来 30秒的网站性能图
放在github上了。
https://github.com/lijianying10/FixLinux/blob/master/picture/pprof.svg
请大神帮忙看看,为什么cpu占用这么高!
我最近在自己用golang做web开发。
我用了go tool pprof 截下来 30秒的网站性能图
放在github上了。
https://github.com/lijianying10/FixLinux/blob/master/picture/pprof.svg
请大神帮忙看看,为什么cpu占用这么高!
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
2 回答931 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
沿着时间消耗最大的这条主线往下找,看到是调用了太多的time.After,也就是定时器设置太多。
优化方案:有时我们并不需要系统的定时器,比如使用一个时间排序的队列,然后用一个goroutine去遍历这个队列。当然这个要根据具体的需求来。