美文网首页
第13章 3-性能分析

第13章 3-性能分析

作者: yezide | 来源:发表于2020-01-22 09:17 被阅读0次

这章比较有意思,多扩展学一些
原文讲的没这么详细, 在google找到了一篇相对比较全的文章
https://cizixs.com/2017/09/11/profiling-golang-program/

1、 离线应用程序搜集

原理: 引入runtime/pprof 包, 然后在程序运行期间调用写入数据

package main

import (
    "fmt"   
    "os"
    "runtime/pprof"
)

func main() {
    f1, _ := os.Create("/Users/lijingle/Documents/test_cpu.prof")
    f2, _ := os.Create("/Users/lijingle/Documents/test_men.prof")
    pprof.StartCPUProfile(f1)
    pprof.WriteHeapProfile(f2)
    defer pprof.StopCPUProfile()
    // defer f1.Close()
    // defer f2.Close()

    env := os.Environ()
    procAttr := &os.ProcAttr{
        Env: env,
        Files: []*os.File{
            os.Stdin,
            os.Stdout,
            os.Stderr,
        },
    }

    pid, err := os.StartProcess("/bin/ls", []string{"ls", "-l"}, procAttr)  
    if err != nil {
        fmt.Printf("Error %v starting process!", err)
        os.Exit(1)
    }
    fmt.Printf("The process id is %v", pid)
}

得到test.prof之后,用go tool pprof test.prof命令分析
todo 有实际的分析实例

2、火焰图

原文推荐用go-torch, 但看[go-torch文档](https://github.com/uber-archive/go-torch 说已经集成到pprof里了,good,试用了下,是个web界面,使用办法:
go tool pprof -http="8081" test test_cpu.prof

说明:

test是可执行程序,就是用go build test.go出来的产物
test_cpu.prof 就是程序里用pprof搜集到的数据

只能跑出web界面,但里面木有数据,应该是demo写得不够完善?后续有实际例子再回来更新

相关文章

  • 第13章 3-性能分析

    这章比较有意思,多扩展学一些原文讲的没这么详细, 在google找到了一篇相对比较全的文章https://cizi...

  • 玩转电商应用性能调优

    第1章 入门篇—性能测试基础知识 什么性能测试 性能测试类型 性能测试基本流程 性能测试需求分析 性能测试指标

  • jvm 相关阅读

    相关阅读 JVM性能优化1-JVM简介 JVM性能优化2-编译器 JVM性能优化3-垃圾回收 JVM性能优化4-C...

  • 2019-06-23

    go 字符串操作性能 浅析 go 性能分析 性能分析函数

  • HTTPS性能优化

    分析性能损耗 产⽣性能消耗的两个环节: 1.第⼀个环节,TLS协议握⼿过程; 2.第⼆个环节,握⼿后的对称加密报⽂...

  • facebook 开源性能分析工具xhprof【目录】

    目录 前言APM介绍性能分析简介[寻找性能分析的最佳时机]Facebook 性能分析工具xhprof xhprof...

  • 性能深度分析之System Trace

    性能深度分析之System Trace性能深度分析之System Trace

  • php入门--性能测试

    PHP性能问题具体分析 工具:XHProf-性能分析扩展工具ab-压力测试vld-opcode代码分析 PHP性能...

  • 002-JMeter-基础入门

    一:万能的JMeter,有以下有点:1-:BS架构应用性能2-:HTTP协议接口功能与性能3-:FTP协议接口功能...

  • android开发调试各种工具

    性能分析工具:Memory Monitor 性能追踪及方法执行分析: TraceView 视图分析:Hierarc...

网友评论

      本文标题:第13章 3-性能分析

      本文链接:https://www.haomeiwen.com/subject/ydgjzctx.html