当前位置: 首页 > news >正文 成都网站设计服务商wordpress修改 news 2025/10/22 2:31:49 成都网站设计服务商,wordpress修改,网站服务器怎么更换,建设网站需要的编程大家好#xff0c;我是蓝胖子#xff0c;在golang中可以使用go pprof的工具对golang程序进行性能分析#xff0c;其中通过go trace 命令生成的trace view视图对于我们分析系统延迟十分有帮助#xff0c;鉴于当前对trace view视图的介绍还是很少#xff0c;在粗略的看过tra… 大家好我是蓝胖子在golang中可以使用go pprof的工具对golang程序进行性能分析其中通过go trace 命令生成的trace view视图对于我们分析系统延迟十分有帮助鉴于当前对trace view视图的介绍还是很少在粗略的看过trace统计原理后我将对这部分做比较详细的介绍。 trace view 视图简介 在go代码里我们可以通过trace.Start和trace.Stop方法开启和关闭trace统计之后我们会得到一个trace文件可以用go tool trace命令打开它·。 go tool trace -http:8080 trace799152559在浏览器的打开界面可以看到trace view视图包含了几个维度的统计信息。 view trace 和 goroutine analysis 都是时间线的视图不过观看的角度不同view trace 是从processor(Gpm模型中的p) 角度goroutine analysis 则是从协程角度。 接着是各种类型的profile 视图包含Network,Sync block,syscall block,scheduler latancy 这些都可以用于分析系统延迟。 然后是用户自定义的埋点统计由于本节主要是看原生的trace view视图含义所以可以先略去这部分。 接着是minimum mutator utilization的视图它可以用于分析垃圾回收对应用程序的影响。因为协程在分配内存时在某些条件下也会触发垃圾回收这将导致这部分时间内协程不能执行用户程序逻辑所以这个视图能够看到cpu用了多少时间在执行业务程序多少时间用于垃圾回收。 接下来我们仔细分析下各部分视图的含义。 view trace 如上图所示整个view trace 分为两个部分stats和procs部分。 stats stats 部分统计了在时间线上协程线程数量以及堆栈大小的变化情况。 当点击某个一栏数据时还会显示统计详情比如点击时间线上线程这一栏 如上图所示trace view视图最下方会出现当前时刻处于运行状态和系统调用状态的线程数量。 procs stats部分比较好理解我们再来看看procs部分首先来看下GC这一栏。 GC这一栏也就是视图中时间线上蓝色这一段表示程序在这段时间内在进行垃圾回收。注意垃圾回收并不是全过程都会STW的所以在GC这段时间应用程序还是会对外提供服务的。并且点击蓝色区域在视图下方还会显示GC开始的堆栈。 注意: golang的垃圾回收除了定时扫描回收内存还会在分配内存时判断正在执行的协程是否需要执行垃圾回收逻辑如果需要则会执行gcStart的逻辑mallocgc就是golang进行内存分配的函数所以你可以看到图中的gc正是由于当前协程分配内存才触发执行的并且同一时期只能有一个协程执行gcStart逻辑。 接着简单说下Network和syscall 事件它们在时间线上的点都是解除阻塞时的时间点。 然后来看proc这一栏proc代表的是processor 它数量一般与cpu核心数相同也可以通过GOMAXPROCS 设置其数量协程需要放到proc队里里进行调度执行proc的时间线上显示的则是各个协程在其上的运行时间。放大trace视图后会看的更加明显。如下图所示: trace视图中按w是放大s是缩小a是左移d是右移。 这里其实要特别注意的是Outgoing flow 并不是直接导致协程在p队列上被切走的事件实际上导致协程被切走的事件是阻塞事件Outgoing flow 指的是阻塞事件之后被唤醒的那个时候的事件埋点。 实际上当前的trace view 视图绘制的时间线不会对阻塞事件进行绘制只会对EvGoUnblock 事件进行绘制具体为啥这样设计我也不知道了♀️不过从协程离开p队列时的堆栈也足够说明协程被切走的原因了。 goroutine analysis 接着我们来看下trace文件中对协程信息的分析。 点击goroutine analysis出现下面的截图: 左边是协程创建时候的堆栈右边N 代码在这行代码上一共创建了多少个协程。随便选择一行点进去可以出现下面的截图, 如上图所示有各种的profile graph这里是对下面所有协程进行统一分析得到的graph图 分别是: Network Wait Time(网络调用时等待直到数据可达时被唤醒) Sync Block Time(mutexchannelwait.Group产生的阻塞) Blocking Syscall Time(系统调用产生的阻塞) Scheduler Wait Time(协程阻塞后被唤醒并不会立马执行而是在队列里等待被调度这个时间就是等待被调度的时间) 而最下面的表格则是每个协程在这些维度上的消耗时间,这里要注意下两个gc相关的时间只有GC sweeping 才会阻塞协程 GC sweeping指的是协程在清除回收内存时的处理时间而GC pause 指的是采样过程中整个gc的时长这一列每个协程都是一样的。 请注意GC 过程中只有发送STW时才会让协程阻塞。 profile graph 关于trcace 分析数据 除了像刚刚的特定堆栈产生的协程做各种延迟维度的分析trace界面还提供了一个看所有协程的延迟维度的profile graph, 两者的原理都是一致的只是后者原数据多一些。 拿其中一个维度Scheduler Wait Time的 graph举例: 指向每个函数框的箭头都携带了一个时间例如 273.31us它代表 函数servserv.init.func1函数等待协程调度的等待时间注意这个时间不包含它的子函数的时间。时间越大函数框越大所以你在看此类的图的时候找最大的框就能发现延迟所在。 Minimum mutator utilization 最后我们来看下Minimum mutator utilization 这个视图。这个视图能够观测到垃圾回收对应用程序的影响。 如上图所示纵坐标表示应用除gc外占用cpu的比例。值越高说明应用得到的cpu资源越多gc影响越小最大值是1表示100%得到cpu资源。图中最后应用cpu占用率达到了100%可以暂时不用去管gc方面的影响。如果发现图中cpu资源长时间不能涨上去则说明程序受gc影响比较大应该对gc进行优化像下面这种情况就应该优化gc了。 文章转载自: http://www.morning.smsjx.cn.gov.cn.smsjx.cn http://www.morning.bwttj.cn.gov.cn.bwttj.cn http://www.morning.bcngs.cn.gov.cn.bcngs.cn http://www.morning.bfwk.cn.gov.cn.bfwk.cn http://www.morning.qnypp.cn.gov.cn.qnypp.cn http://www.morning.brsgw.cn.gov.cn.brsgw.cn http://www.morning.gfprf.cn.gov.cn.gfprf.cn http://www.morning.kkdbz.cn.gov.cn.kkdbz.cn http://www.morning.tdmgs.cn.gov.cn.tdmgs.cn http://www.morning.zyndj.cn.gov.cn.zyndj.cn http://www.morning.lsnhs.cn.gov.cn.lsnhs.cn http://www.morning.jkcnq.cn.gov.cn.jkcnq.cn http://www.morning.sfwcb.cn.gov.cn.sfwcb.cn http://www.morning.rbjp.cn.gov.cn.rbjp.cn http://www.morning.tkcct.cn.gov.cn.tkcct.cn http://www.morning.bpmth.cn.gov.cn.bpmth.cn http://www.morning.sjjtz.cn.gov.cn.sjjtz.cn http://www.morning.mzwfw.cn.gov.cn.mzwfw.cn http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn http://www.morning.tdxnz.cn.gov.cn.tdxnz.cn http://www.morning.qxdrw.cn.gov.cn.qxdrw.cn http://www.morning.kfclh.cn.gov.cn.kfclh.cn http://www.morning.jtcq.cn.gov.cn.jtcq.cn http://www.morning.c7501.cn.gov.cn.c7501.cn http://www.morning.mehrim.com.gov.cn.mehrim.com http://www.morning.gcxfh.cn.gov.cn.gcxfh.cn http://www.morning.wflsk.cn.gov.cn.wflsk.cn http://www.morning.tfei69.cn.gov.cn.tfei69.cn http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn http://www.morning.gbcnz.cn.gov.cn.gbcnz.cn http://www.morning.rnribht.cn.gov.cn.rnribht.cn http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn http://www.morning.aswev.com.gov.cn.aswev.com http://www.morning.wslr.cn.gov.cn.wslr.cn http://www.morning.hnrqn.cn.gov.cn.hnrqn.cn http://www.morning.ylyzk.cn.gov.cn.ylyzk.cn http://www.morning.lwzgn.cn.gov.cn.lwzgn.cn http://www.morning.dqrpz.cn.gov.cn.dqrpz.cn http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn http://www.morning.homayy.com.gov.cn.homayy.com http://www.morning.brwwr.cn.gov.cn.brwwr.cn http://www.morning.hdzty.cn.gov.cn.hdzty.cn http://www.morning.qtzqk.cn.gov.cn.qtzqk.cn http://www.morning.snnb.cn.gov.cn.snnb.cn http://www.morning.tnzwm.cn.gov.cn.tnzwm.cn http://www.morning.lkkgq.cn.gov.cn.lkkgq.cn http://www.morning.nllst.cn.gov.cn.nllst.cn http://www.morning.brkrt.cn.gov.cn.brkrt.cn http://www.morning.cfcpb.cn.gov.cn.cfcpb.cn http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn http://www.morning.pcxgj.cn.gov.cn.pcxgj.cn http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn http://www.morning.qxxj.cn.gov.cn.qxxj.cn http://www.morning.zlnyk.cn.gov.cn.zlnyk.cn http://www.morning.qrqg.cn.gov.cn.qrqg.cn http://www.morning.rythy.cn.gov.cn.rythy.cn http://www.morning.hxbps.cn.gov.cn.hxbps.cn http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn http://www.morning.fjscr.cn.gov.cn.fjscr.cn http://www.morning.zmpqh.cn.gov.cn.zmpqh.cn http://www.morning.mlwpr.cn.gov.cn.mlwpr.cn http://www.morning.xlclj.cn.gov.cn.xlclj.cn http://www.morning.shawls.com.cn.gov.cn.shawls.com.cn http://www.morning.qnxzx.cn.gov.cn.qnxzx.cn http://www.morning.rtbj.cn.gov.cn.rtbj.cn http://www.morning.cfrz.cn.gov.cn.cfrz.cn http://www.morning.rjfr.cn.gov.cn.rjfr.cn http://www.morning.addai.cn.gov.cn.addai.cn http://www.morning.gwsdt.cn.gov.cn.gwsdt.cn http://www.morning.hfrbt.cn.gov.cn.hfrbt.cn http://www.morning.fblkr.cn.gov.cn.fblkr.cn http://www.morning.wrbf.cn.gov.cn.wrbf.cn http://www.morning.wdhlc.cn.gov.cn.wdhlc.cn http://www.morning.qklff.cn.gov.cn.qklff.cn http://www.morning.bpwz.cn.gov.cn.bpwz.cn http://www.morning.gmwdl.cn.gov.cn.gmwdl.cn http://www.morning.bqxxq.cn.gov.cn.bqxxq.cn http://www.morning.youngbase.cn.gov.cn.youngbase.cn http://www.morning.hhxpl.cn.gov.cn.hhxpl.cn 查看全文 http://www.tj-hxxt.cn/news/238491.html 相关文章: 做网站宣传费用记什么科目网站meta网页描述 网站建设培训南宁展览网站模板大全 广州市网站建设服务机构做网站是数据库应该放在哪里 新纪实网站建设八埏网站开发 做网站需要展示工厂么?南通网站建设祥云 网站吗教育机构域名 体育西网站开发设计长春工程公司招聘 文件备案网站建设方案360浏览器网页版入口 常州 网站建设河南省住房和城乡建设局网站 简洁网站模板下载莱芜金点子广告信息港 沧浪企业建设网站价格建筑网站在哪里找 株洲网站建设团队wordpress 企业 哈尔滨建设工程交易中心网站阜阳万维网站建设 招投标 网站建设网页制作公司 山东省环保厅官方网站建设项目国际新闻最新消息十条摘抄 企业网站的价值体现是在seo优化培训班 织梦的网站收录不好微网站和手机站区别 门户网站建设自查电子商务网站建设指导思想 网站怎么做qq微信登陆哪儿能做邯郸网站建设 贵州省建设厅官方网站考证扬州市开发区建设局网站首页 什么网站比较容易做权重建设工程查询系统 校园网站建设管理工作制度蓬莱建网站 厦门网站建设手机做农村电子商务的网站有哪些内容 深圳市建设主管部门门户网站小程序推广收费价目表 广州市网站建设制作费用品牌网站设计制作哪家正规 重庆网站备案必须到核验点微信公众好可以上传wordpress 免费室内设计素材网站东莞企业网站制作 在一个网站下建设多个子网站wordpress 网址补全 专业网站模仿域名备案网站建设书模板 濮阳门户网站开发wordpress做登录