当前位置: 首页 > wzjs >正文

有什么推荐的网站寿光shengkun网站建设

有什么推荐的网站,寿光shengkun网站建设,商城网站建设开发多少钱,北京建设工程二级市场网站利用pprof进行性能分析 pprof性能分析的5个方面 一、性能分析的五个核心维度 CPU分析 - 剖析程序的CPU使用情况,定位高耗时函数 内存分析 - 追踪内存分配与泄露,优化内存使用模式 IO分析 - 监控文件/网络IO操作,发现瓶颈资源 Goroutine分…

利用pprof进行性能分析

pprof性能分析的5个方面

一、性能分析的五个核心维度

  • CPU分析 - 剖析程序的CPU使用情况,定位高耗时函数

  • 内存分析 - 追踪内存分配与泄露,优化内存使用模式

  • IO分析 - 监控文件/网络IO操作,发现瓶颈资源

  • Goroutine分析 - 检测协程泄露与异常堆栈

  • 并发问题分析 - 诊断死锁及通过race detector检测数据竞争

数据采集时间

生产环境采集:选择业务低峰期进行采样(凌晨2-4点)

测试环境采集:模拟真实负载场景进行压力测试

黄金准则:采样时长控制在30-60秒,确保覆盖完整业务周期

pprof集成方案

1、方案1:HTTP服务集成(推荐)

import ("net/http",_ "net/http/pprof"
)func main(){go func(){if err:=http.ListenAndServer(addr:"6060",handler:nil);err!=nil{log.Fatal(err)}os.Exit(code:0)}()
}

可以加入runtime,开启对锁调用的跟踪。

import ("runtime"
)func main(){runtime.SetMutexProfileFraction(rate:1) //开启对锁的跟踪runtime.SetBlockProfileRate(rate:1)  //开启对阻塞的跟踪go func(){if err:=http.ListenAndServer(addr:"6060",handler:nil);err!=nil{log.Fatal(err)}os.Exit(code:0)}()
}

有聪明的小伙伴可能会问“持续性采样,会不会影响服务器性能啊”。其实不会,pprof服务会按需采样,大部分端点只在请求时生成数据持续监控。只有runtime统计信息(如goroutine数量)会实时更新,因此只要控制好你的请求频率,不会对生成开发过程造成很大影响。

2、通过基准测试采集数据

func BenchmarkMyFunc(b *testing.B) {// 测试逻辑...
}

执行命令采集数据go test -bench=. -cpuprofile=cpu.out

诊断端点详解

针对第一种HTTP服务集成,访问 http://localhost:6060/debug/pprof/ 获取以下分析入口:

分析类型描述启用方式
allocs跟踪所有内存分配情况(包括已释放的内存)默认启用
block分析阻塞操作(如 channel 阻塞、锁等待)需调用 SetBlockProfileRate
cmdline显示程序启动时的命令行参数默认启用
goroutine统计当前所有 goroutine 的堆栈跟踪信息默认启用
heap分析当前活跃的堆内存分配(与 allocs 不同,仅包含未释放的内存)默认启用
mutex跟踪锁竞争情况(如 sync.Mutex 的争用)需调用 SetMutexProfileFraction
profile采集 CPU 使用数据,支持 seconds 参数(默认 30 秒)默认启用
threadcreate跟踪操作系统线程创建情况(常用于检测 goroutine 泄漏)默认启用

我们发现,在http://localhost:6060/debug/pprof/中的文件可读性非常差,实际上它只是作为一个数据源。我们可以通过性能分析工具对其文件进行分析。golang中有自带的go tool pprof工具。

可以直接将文件下载下来对文件进行分析,也可以直接使用文件的url。

如果要导出图片或者pdf等文件,需要下载 graphviz。大家想的话,可以自己搜索下载。

可视化分析

可以使用 go tool pprof +source (source可以是可执行文件,也可以是网址。)

例如 go tool pprof http://localhost:6060/debug/pprof/allocs
可以在命令行中分析程序内存使用情况。

go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30
可以分析CPU使用情况。(采集30秒)

运行过上述命令后,即进入命令行终端。可以通过help查看支持的指令。

我们介绍几个常用的:top,list,web

top命令 显示资源消耗TOP N函数

最常用的top,查看使用的数据,默认取前10条,可以使用top 5 ,可以查看消耗资源(内存,协程数,cpu用的最多的等等)最多的5个。其中的指标有:

指标全称技术定义
flatExclusive Time函数自身直接消耗的CPU时间/内存量(不包含子调用)
flat%Exclusive Percentage当前函数独占资源占总采样资源的百分比
cumCumulative Time函数及其调用链消耗的总资源(包含所有子调用)
cum%Cumulative Percentage函数调用链资源消耗占总采样资源的百分比
sum%Aggregated Percentage当前函数及其之前函数资源消耗的累计占比(TOP列表特有指标)

list命令 源码级函数分析

通过list可以展开源代码,list + 某个interface,或者函数,会列出其所有interface对应的方法,或所有函数实现的源代码。可以结合top一起使用,查看消耗资源最多的出现在

web生成可视化图形

通过 web可以打开分析的连线图。

图中,有很多长方形,框框越大,代表消耗的资源越多。线约粗,整个调用栈消耗的资源越多。

每个方格中第一行,代表包名。
第二行,对象名。
第三行代表方法名。
第四行,flat(flat%)。
第五行,cum(cum%)。

图形化分析

通过 go tool pprof 的 Web 交互模式,可以将远程 pprof 数据本地可视化,实现命令行功能的图形化操作。具体流程如下:

go tool pprof -http=:8000 http://localhost:6060/debug/pprof/goroutine

功能模块对应命令行操作核心作用交互优势
Toptop展示资源消耗 Top N 的函数(按 CPU/内存/锁等指标排序)动态排序 + 百分比占比可视化
Graphweb生成函数调用关系拓扑图(需 Graphviz)链路依赖关系一目了然
Flame Graph无直接对应命令通过火焰图直观定位性能瓶颈(层级宽度=资源消耗量)快速识别热点代码路径
Peekpeek <function>聚焦特定函数及其上下游调用链无需记忆命令,点击交互
Sourcelist <function>源码级资源消耗分析(显示每行代码的资源开销)直接关联业务代码
Comparediff_base对比两个 Profile 文件的差异(常用于优化前后效果验证)差异高亮 + 变化量统计

关键特性说明:

  1. 本地化分析

    工具可以将远程 pprof 数据下载到本地(存储于 ~/pprof 目录)进行分析,避免对生产服务造成性能影响。

  2. ​协议兼容性

    支持 HTTP/HTTPS 协议拉取数据,适用于 Kubernetes 等容器环境。
    例如 go tool pprof -http=:8000 https://k8s-cluster:443/debug/pprof/profile

  3. ​原生指令支持

    网页顶部提供命令行输入框,可直接执行 top -cum 等高级参数指令,实现精准过滤。


文章转载自:

http://70iR33AK.rbrhp.cn
http://k4kIjtx1.rbrhp.cn
http://FfjEix35.rbrhp.cn
http://81ODYItO.rbrhp.cn
http://hrgt0oyx.rbrhp.cn
http://yFwlsW47.rbrhp.cn
http://b00UudNT.rbrhp.cn
http://1ECpcHgL.rbrhp.cn
http://e88xheNV.rbrhp.cn
http://uV9q9efU.rbrhp.cn
http://XEPOVwHW.rbrhp.cn
http://yeuS7X89.rbrhp.cn
http://wb2O6gG8.rbrhp.cn
http://w5WB8XJA.rbrhp.cn
http://2oMIWnpS.rbrhp.cn
http://3YFBpxLZ.rbrhp.cn
http://MAaCUmsJ.rbrhp.cn
http://6yy4JXIF.rbrhp.cn
http://GEHgPPmQ.rbrhp.cn
http://Yrt6kv0z.rbrhp.cn
http://hpFPq6Lr.rbrhp.cn
http://rVFxPjXU.rbrhp.cn
http://SfDe30wc.rbrhp.cn
http://ZGzbJ0B7.rbrhp.cn
http://Fx4Gdak1.rbrhp.cn
http://ETejQCRb.rbrhp.cn
http://Bp6tsH19.rbrhp.cn
http://6ZT8wbzD.rbrhp.cn
http://bAKIYE27.rbrhp.cn
http://6SLaEMdk.rbrhp.cn
http://www.dtcms.com/wzjs/644145.html

相关文章:

  • 深圳罗湖企业网站优化广州平台网站搭建
  • 闵行网站开发全屏网站 欣赏
  • app设计网站推荐石家庄制作网站推广
  • 班级网站建设上海企业网站建设制作
  • 北京市城市建设档案馆网站信誉好的o2o网站建设
  • 如何做网站视频哈尔滨造价信息网官网
  • 记事本做网站的流程规范网站维护 建设 管理
  • 一块钱购物网站笑话 wordpress主题
  • 中国站长网站中国建筑2022校园招聘
  • 无锡优化网站价格洛可可设计
  • 网站下载器杭州网站制作维护
  • 网站优化推广网站框架是什么
  • 网站 工信部备案 收回wordpress谷歌字体大小
  • aspcms三合一网站源码西安网站建设公司平台
  • 重庆网站建设拓云wordpress 搜狐
  • 河南住房和城乡建设厅网站资质培训机构跑路怎么追回学费
  • 网站建设 英语翻译指数是什么
  • 卧龙区微网站建设做招聘网站排名
  • 济宁市松岳建设机械有限公司网站企业信息系统类型
  • 百度怎样建立网站wordpress转tytypecho
  • 提供商城网站制作电子商务网站建设教程 pdf
  • 企业网站实施方案鹤岗市建设局网站
  • 公司网站建立教程上海传媒公司总裁李健
  • 自己怎么做网站链接东莞饰品网站建设
  • 阿里云官方网站 icp代备案管理系统360免费建站网址是什么
  • 图书馆网站参考咨询建设今傲网站做的怎么样
  • 海络网站什么是移动端网站适配
  • 用固定ip做访问网站服务器九江做网站开发需要多少钱
  • 假发网站建设正品二手手表交易网
  • 网站开发工程师应聘书范文700字wordpress扁平模板