凌云时刻 · 技术
导读:在开发 golang 程序过程中,go pprof 可以对我们所写的算法甚至整个应用程序做性能分析,帮助我们快速定位效率低或者资源消耗多的地方。Go 提供了 pprof 以及 trace 工具,本文分别介绍这两个工具的简要用法,希望大家能够快速了解以及快速入门 Go 的性能调优。
作者 | 谢久阳(昕希)
来源 | 凌云时刻(微信号:linuxpk)
先来一段演练
在给大家介绍枯燥的基础知识之前,先来看看一个简单的例子,这个例子简单粗暴,可以通过 pprof 快速定位协程阻塞问题。
package main
import (
"fmt"
"net/http"
_ "net/http/pprof"
"time"
)
func main() {
// 是否阻塞的开关
var flag bool
testCh := make(chan int)
go func() {
// pprof 监听的端口 8080
if err := http.ListenAndServe("0.0.0.0:8080", nil); err != nil {
fmt.Printf("%v", err)
}
}()
go func() {
// 永远为 false 的条件
if flag {
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?
立即登录/注册


微信扫码登录