go中pprof导入开销有多大

2024-01-31

我有几个 go 程序有一个未使用的输入net/http/pprof在他们中。

import _ "net/http/pprof"
...
//http.ListenAndServe("127.0.0.1:6060", nil)

我想知道这次导入的 CPU 和内存开销是多少。又名。我应该在产品中删除然后(是的),但是如果我忘记了会有什么影响?

相关:这种导入的确切副作用是什么?它注册了一些http处理程序,但它是否也在go的malloc函数中注入了东西?


导入 net/http/pprof 包的开销非常有限:它只是为 http 服务器安装一些处理程序。源代码见:

http://golang.org/src/pkg/net/http/pprof/pprof.go http://golang.org/src/pkg/net/http/pprof/pprof.go

CPU 分析在初始化时不会激活,仅在调用 /debug/pprof/profile REST 服务时激活一段时间(默认为 30 秒)。因此,使用此包进行编译不会对应用程序的性能产生太大影响(除了需要用于 http 服务器的额外 goroutine)。

现在,在执行 /debug/pprof/profile 期间,CPU 采样被激活,因此预计会有性能开销。我想它可以用于生产代码,前提是对相应端口的访问仅限于应用程序的管理员。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go中pprof导入开销有多大 的相关文章

  • 如何通过模板中的变量访问对象字段?

    我有一个嵌套循环 columns columns range dx dataList range c columns index dx c end end dataList是orm模型数组 和ID Title字段 那么columns is
  • ReverseProxy取决于golang中的request.Body

    我想构建一个 http 反向代理 它检查 HTTP 主体 然后将 HTTP 请求发送到它的上游服务器 你怎么能在 Go 中做到这一点 初始尝试 如下 失败 因为 ReverseProxy 复制传入请求 修改它并发送 但正文已被读取 func
  • 使用cgo时的多重定义

    package main int add int a int b return a b import C import fmt func main func Test1 fmt Println C add 1 3 export Test2
  • 在 Go 中生成随机、固定长度的字节数组

    我有一个字节数组 固定长度为4 token make byte 4 我需要将每个字节设置为随机字节 我怎样才能以最有效的方式做到这一点 这math rand就我而言 方法不提供随机字节函数 也许有一种内置的方法 或者我应该生成一个随机字符串
  • 如何在 Visual Studio Code 中使用 Delve 调试器进行远程调试

    我已经问过了 得到了很好的答复answer https stackoverflow com questions 39058823 how to use delve debugger in visual studio code用于使用 del
  • 我想在后端验证来自 golang 前端的时区

    前端在注册期间发送时区以及其他用户详细信息 我需要在时区上放置一个验证器来进行 api 测试 时区数据的格式为 GMT 10 00 Hawaii GMT 08 00 Pacific Time US amp Canada 我所做的是定义数组中
  • Go io.Pipe 的缓冲版本

    有缓冲版本吗io Pipe https golang org pkg io Pipe 在标准库或第三方库中 在我推出自己的库之前 上下文 我正在尝试使用这个解决方案 https stackoverflow com a 36229262 15
  • 如何在 Go 应用程序中处理打开/关闭数据库连接?

    我的 Web API 应用程序中有一组函数 他们对 Postgres 数据库中的数据执行一些操作 func CreateUser db err sql Open postgres user postgres password passwor
  • 如何将UTC时间转换为unix时间戳

    我正在寻找将 UTC 时间字符串转换为 unix 时间戳的选项 我的字符串变量是02 28 2016 10 03 46 PM并且需要将其转换为 unix 时间戳 例如1456693426 知道该怎么做吗 首先 unix时间戳14566934
  • 为什么 Go 禁止取 (&) 映射成员的地址,却允许取 (&) 切片元素?

    Go 不允许获取地图成员的地址 if I do this p mm abc Syntax Error cannot take the address of mm abc 理由是 如果 Go 允许使用此地址 那么当地图后台存储增长或缩小时 该
  • 如何将 SQLite 数据库捆绑到 Go 二进制文件中?

    我尝试使用 go bindata 和 packr 但这些包没有显示如何将 SQLite 数据库文件打包到二进制文件中 我不需要以任何方式更新数据库 我只想在启动时从中读取数据 如何将 SQLite 数据库文件嵌入到 Go 二进制文件中 SQ
  • 有队列实现吗?

    任何人都可以建议使用 Go 容器来实现简单快速的 FIF 队列 Go 有 3 种不同的容器 heap list and vector 哪一种更适合实现队列 事实上 如果您想要的是一个基本且易于使用的 fifo 队列 slice 可以满足您所
  • “go.tools”的权限被拒绝错误

    当我尝试安装 go 工具时 我的权限被拒绝 usr local go pkg tool linux amd64 cover 我可以接受 因为它是 usr local 目录及需求root使用权 但我的第一个疑问是为什么当我设置时它试图安装在这
  • 将 time.Time 转换为字符串

    我正在尝试将数据库中的一些值添加到 string在围棋中 其中一些是时间戳 我收到错误 无法在数组元素中使用 U Created date 类型 time Time 作为类型字符串 我可以转换吗time Time to string typ
  • Golang 正则表达式在字符串之间替换

    我有一些可能采用以下形式的字符串 MYSTRING MYSTRING n MYSTRING n MYSTRING randomstringwithvariablelength n 我希望能够将其正则表达式为MYSTRING foo 基本上替
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 如何确定 go 中当前运行的可执行文件的完整路径?

    我一直在 osx 上使用这个函数 Shortcut to get the path to the current executable func ExecPath string var here os Args 0 if strings H
  • 如何将接口转换为接口切片?

    我的输入是interface 而且我知道它可以是任何类型的数组 我想读取我输入的元素之一 所以我尝试将我的interface 进入一个 interface 但是 go 会给我以下错误 恐慌 接口转换 interface 是 map stri
  • 如何读取大型平面文件

    我有一个平面文件 其中包含 339276 行文本 大小为 62 1 MB 我试图读入所有行 根据我所拥有的某些条件解析它们 然后将它们插入数据库 我最初尝试使用 bufio Scan 循环和 bufio Text 来获取该行 但缓冲区空间不
  • 与通道相比,sync.WaitGroup 的优势是什么?

    我正在开发一个并发 Go 库 我偶然发现了 goroutine 之间两种不同的同步模式 其结果相似 等待组 https play golang org p ZYPLlcp16TZ package main import fmt sync t

随机推荐

  • 8086 汇编中的大二进制移位?

    我有一个 512 字节长的二进制数据块 我想知道如果我想将其右移一次 最有效的方法是什么 我现在最好的猜测 对于汇编来说非常新 是我必须首先检查一个块 可能是 int 看看它将移出什么 移出 然后携带先前 int 移出的任何内容并继续携带这
  • Java:如何计算从InputStream读取的字节数而不事先分配完整内存

    我有一个 Java 后端 用户可以将文件上传到其中 我想将这些上传的文件限制为最大大小 并希望在上传时检查上传的字节数 并在达到限制后立即中断传输 目前 我在分配之前使用 InputStream available 来确定估计大小 但这似乎
  • 在 Elixir 中引用管道值

    我想计算字符串中单词出现的次数 实现是有问题的 但让我们用它来演示我的问题 def count sentence do words String split sentence occurrences Enum map words fn w
  • python read() 从 stdout 比逐行读取慢得多(啜饮?)

    我有一个 python SubProcess 调用 它运行一个可执行文件并将输出通过管道传输到我的子进程标准输出 在 stdout 数据相对较小 约 2k 行 的情况下 逐行读取和作为块读取 stdout read 之间的性能相当 其中 s
  • 使用 Select-String 在 powershell 中检查两个 .txt 文件

    我对编写 powershell 脚本完全陌生 到目前为止 我使用普通批次来达到我的目的 因为这是我公司的要求 在此批处理中 我使用嵌套的 foo 循环来比较两个 txt 文件 具体来说 我想要执行以下操作 文件 1 包含大量字符串 每个字符
  • 我可以保留“未使用的CSS选择器”吗?

    我注意到 svelte 会自动清除我的 css 所有 未使用的 css 选择器 都将被删除 例如 p class blue This is a paragraph p 红色 类的样式将被删除 如何保留 blue 选择器 我想稍后某个时候使用
  • 在大屏幕上将 n-div 放在一起,在小屏幕上将 n-div 放在彼此下面

    我正在努力实现这个效果 如果屏幕足够大 我想将 n div 彼此相邻放置 否则将一个放在彼此下方 并且我希望将这些 n div 包含在一个 div 中 我的代码中的黄色容器 和标题区域 在我的代码中为黑色 封装所有内容的包装器中的黄色容器
  • XSL 交叉引用

    我现在正在学习 XSL 有一个关于交叉引用的问题 我的目标 XML 文件的结构如下
  • Android 列表视图中的滚动是如何工作的?

    我有一个 android 应用程序 在活动中有一个列表视图 如果我这么称呼的话 列表视图具有三种数据状态 没有从 inet 加载数据 gt 只有一个虚拟项可见 表示正在加载数据 数据已加载并显示在列表中 单击一个列表项 现在显示该列表项的更
  • 如何使用OpenRowSet向空白文件中插入数据?

    如何使用开放行集将数据插入空白文件 我需要在 txt 文件 例如 D TDB 中插入一些选择输出 例如select from sys tables 来自数据库 INSERT INTO OPENROWSET Microsoft Jet OLE
  • mysql查询中日期时间差的总和

    Mysql表的列是 Starttime type datetime Stoptime type datetime Data Starttime stoptime 2013 10 25 09 00 00 2013 10 25 17 00 00
  • 可以知道一个字符串是否是用base64编码的吗?

    就那么简单 我正在制作一个应用程序 用户必须扫描 QR 码 基本上是 Base64 编码的字符串 有什么方法可以在解码之前验证该字符串是否以 Base64 编码并遵循应用程序的流程 我的代码负责的是 func captureOutput c
  • 在 SiteEdit 2009 中加载页面时出现“无法从组件 xml 架构获取类型信息”

    我使用此处给出的答案在 SitEdit 2009 SP2 上启用了内联编辑 使用 XSLT TBB 时如何在 SiteEdit 中启用内联字段编辑 https stackoverflow com questions 9667640 how
  • utf8 <-> utf16:codecvt 性能不佳

    我正在研究一些旧的 并且专门面向 win32 的 东西 并考虑使其更加现代 可移植 即在 C 11 中重新实现一些广泛可重用的部分 其中之一是 utf8 和 utf16 之间的转换 在我使用的 Win32 API 中MultiByteToW
  • Xcode 9 GM - 导出并上传到 App Store 崩溃

    我正在尝试将使用 ARKit Unity 构建 的应用程序上传到 iTunes Connect 以进行 TestFlight 分发 导出和上传到应用程序商店的过程均来自Xcode gt Organizer我看到 剥离 APPNAME app
  • 检查点后未使用新的 Spark.sql.shuffle.partitions 值

    我有一个 Spark 的结构化流应用程序 带有检查点以在 parquet 中写入输出并使用默认的 Spark sql shuffle partitions 200 我需要更改 shuffle 分区 但不使用新值 以下是应用程序重新启动后检查
  • C# ModInverse 函数

    是否有一个内置函数可以让我计算 a mod n 的模逆 例如19 1 11 mod 30 在本例中为 19 1 11 19 由于 Net 4 0 使用特殊的模块化算术函数 ModPow 实现 BigInteger 它产生 X power Y
  • 如何更改 data.table 中因子列的级别

    改变水平的正确方法是什么factor中的列data table 注 不是数据框 library data table mydt lt data table id 1 6 value as factor c A A B B B C key i
  • 在 Woocommerce 3 中以编程方式设置自定义运费

    我搜索并找到了许多如何更改运费的示例 基本上我想做同样的事情 但我想使用第 3 方 API 我已经使用functions php 设置了一个自定义插件并激活了它 我认为使用了这样简单的东西 add filter woocommerce pa
  • go中pprof导入开销有多大

    我有几个 go 程序有一个未使用的输入net http pprof在他们中 import net http pprof http ListenAndServe 127 0 0 1 6060 nil 我想知道这次导入的 CPU 和内存开销是多