zoukankan      html  css  js  c++  java
  • Pprof

    安装

    1. 安装go-torch
    go get github.com/uber/go-torch
    
    1. 安装FlameGraph
    cd $WORK_PATH && git clone https://github.com/brendangregg/FlameGraph.git
    export PATH=$PATH:$WORK_PATH/FlameGraph
    
    1. 安装graphviz
    yum install graphviz
    
    1. 使用pprof
    package main
    
    import (
        "net/http"
        _ "net/http/pprof"
    )
    
    func main() {
        // 服务端启动一个协程,支持pprof的handler
        //导入pprof的包,自动包含一些handler
    	//项目加入如下代码
        go func() {
            http.ListenAndServe("0.0.0.0:8888", nil)
        }()
    	//other code
    }
    

    ab压测

    1. 安装apache

    2. 使用ab命令

    3. 基本使用

    ab -n 19999 -c 20 http://xxxxxxxxxxxx
    -n 总数
    -c 同时并发请求数
    

    pprof使用

    1. 监听
    go tool pprof http://localhost:port/debug/pprof/profile
    
    1. 操作
      进入30秒的profile收集时间,在这段时间内请求服务,尽量让cpu占用性能产生数据

    2. pprof命令

    top
    在默认情况下,top命令会输出以本地取样计数为顺序的列表。我们可以把这个列表叫做本地取样计数排名列表。
    web
    与gv命令类似,web命令也会用图形化的方式来显示概要文件。但不同的是,web命令是在一个Web浏览器中显示它。
    

    火焰图工具使用

    1. 监听
    //cpu火焰图
    go-torch -u http://ip:port/debug/pprof/ -p > profile-cpu.svg
    //内存火焰图
    go-torch -u http://ip:port/debug/pprof/heap -p > profile-heap.svg
    
    1. 操作
    针对测试服务端,进行操作,上述步骤默认监听30s,即30s后可以生成相关图像
    

    参考

    1. Golang FlameGraph
  • 相关阅读:
    反射
    IDEA配置数据库
    配置idea的maven镜像为aliyun
    蓝桥---芯片测试(思维)
    汉诺塔(思维、DP思想)
    立方数(质因子、优化)
    碎碎念(DP)
    牛牛战队的比赛地(三分)
    子段乘积(尺取、逆元)
    子段异或(位运算)
  • 原文地址:https://www.cnblogs.com/weiweng/p/12497274.html
Copyright © 2011-2022 走看看