Pprof

PprofPprof

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

安装

  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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166803.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • EXCUTE方法executeUpdate「建议收藏」

    EXCUTE方法executeUpdate「建议收藏」“Execute”是JAVA语言的一种,作用是执行动态的SQL语句或非运行时创建的PL/SQL块,动态创建和执行SQL语句。Execute语句的方法1方法executeQuery用于产生单个结果集的语句,例如SELECT语句。被使用最多的执行SQL语句的方法是executeQuery。这个方法被用来执行SELECT语句,它几乎是使用最多的SQL语句。2方法executeUp…

    2022年10月20日
  • 史上最简单MySQL教程详解(基础篇)之多表联合查询

    史上最简单MySQL教程详解(基础篇)之多表联合查询常用术语表连接的方式数据准备student表college表内连接外连接左外连接右外连接注意事项:自连接子查询在上篇文章史上最简单MySQL教程详解(基础篇)之数据库设计范式及应用举例我们介绍过,在关系型数据库中,我们通常为了减少数据的冗余量将对数据表进行规范,将数据分割到不同的表中。当我们需要将这些数据重新合成一条时,就需要用到我们介绍来将…

  • 《剑指offer》– 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

    《剑指offer》– 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

  • 阶乘的累加和

    阶乘的累加和

  • 如何在pycharm中安装第三方库_pycharm使用pip安装pygame

    如何在pycharm中安装第三方库_pycharm使用pip安装pygame一、场景描述:在开发python小游戏前,需要安装pygame的插件,如何在pycharm软件中安装pygame的插件呢,本文将重点讲解如何安装pygame这个插件。二、安装步骤:1、在pycharm软件中定位到file–settings2、定位到:project(自己的项目中)–pythoninterpreter,选择右边的pip3、双击pip,进入查询插件界面,输入pygame,进行查询这个插件,最后点击installpackage4、安装成功后,会在pycharm软件的下方提示安

  • form 表单提交后,使页面不跳转[通俗易懂]

    form表单提交数据,往往会刷新页面,数据提交后会跳转到其他页面如果不需要刷新页面时,可以通过ifame实现无刷新。在form表单下定义一个ifame将form的target属性指向iframe的name属性,这样就实现了不刷新页面的form提交。示例:<formaction="url"enctype="multipart/form-data"targe…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号