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导入开销有多大 的相关文章

  • 限制 FormFile 中的文件大小

    我让用户使用 FormFile 上传文件 我应该在什么时候检查文件大小是否太大 当我做 file header fileErr r FormFile file 文件对象已经创建 那么我是否已经产生了读取整个文件的成本 https golan
  • 如何使用 golang 和 mgo 库在 mongodb 中创建文本索引?

    我正在尝试对集合进行全文搜索 但为了做到这一点 我需要创建一个文本索引 http docs mongodb org manual tutorial create text index on multiple fields http docs
  • java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.type。使用 apache beam Spark runner 运行 go 示例时

    我想跑grades https github com apache beam tree master sdks go examples gradesapache beam go sdk 提出的示例 在一个主服务器和两个从服务器 spark2
  • go 中的属性更改通知

    如何在 go 中向多个接收器发出 属性 更改信号 类似于在 Qt 中使用通知信号定义属性的方式 例如 如果您想象有一些值需要以多种方式显示 例如进度值可以同时显示为进度条和文本 当基础值发生变化时 两者都需要更新 一种方法可能是利用chan
  • Golang - 更改 Windows 上的构建工作路径

    我正在使用 SublimeText3 GoSublime 插件 在 Windows 8 上测试简单的 Go 程序 go run v example go 在运行之前它正在内部编译 应用程序数据 本地 温度 目录 我的防病毒程序认为这是病毒并
  • GO并发编程测试

    我试图确保我的并发程序不存在以下情况 僵局 livelock 饥饿 我找到了以下工具http blog golang org race detector http blog golang org race detector 我尝试编译并运行
  • 使用 crypto/ssh 的 golang scp 文件

    我正在尝试通过 ssh 下载远程文件 以下方法在 shell 上运行良好 ssh hostname tar cz opt local folder gt folder tar gz 然而 golang 上的相同方法在输出工件大小方面存在一些
  • 是否支持动态变量?

    我想知道Go中是否可以动态创建变量 我在下面提供了一个伪代码来说明我的意思 我将新创建的变量存储在切片中 func method slice make type for i 0 i lt 10 i var variable i i slic
  • 无法通过键获取 Gorilla 会话值

    我无法通过这种方式从会话中获取价值 它是nil session initSession r valWithOutType session Values key 完整代码 package main import fmt github com
  • 按引用或按值扫描功能

    我有以下代码 statement SELECT id from source where mgmt 1 var exists string errUnique dr db QueryRow statement mgmt Scan exist
  • Golang 基础知识 struct 和 new() 关键字

    我正在学习 golang 当我阅读描述结构的章节时 我遇到了初始化结构的不同方法 p1 passport var p2 passport p3 passport Photo make byte 0 0 Name Scott Surname
  • 投射回更专业的界面

    我正在用 Go 编写一个游戏 在 C 中 我将所有实体类存储在 BaseEntity 类的数组中 如果一个实体需要在世界中移动 那么它将是一个从 BaseEntity 派生的 PhysEntity 但添加了方法 我尝试模仿这是 go pac
  • 完全删除使用“go get”安装的软件包?

    我正在使用 Go 1 13 1 最新版本 我正在尝试完全删除我安装的软件包go get来自 GitHub 这go clean i
  • 在处理程序之后访问 HTTP 请求上下文

    在我的日志记录中间件 链中的第一个 中 我需要访问一些在链下游的某些身份验证中间件中编写的上下文 并且仅在处理程序本身执行之后 旁注 需要首先调用日志记录中间件 因为我需要记录请求的持续时间 包括在中间件中花费的时间 此外 当权限不足时 身
  • 在 Go 中使用电子邮件地址创建证书签名请求 (CSR)

    我尝试使用 crypto x509 包生成 CSR 但没有找到将 emailAddress 字段添加到其主题中的方法 根据文档证书申请 http golang org pkg crypto x509 CertificateRequest结构
  • 我应该避免在 golang 中使用单例包吗?

    现在我有一个包裹store包含以下内容 package store var db Database func Open url string error open db connection func FindAll model inter
  • 根据值匹配数组

    我使用以下代码来解析 yaml 并应得到输出为runners对象和函数build应更改数据结构并根据以下结构提供输出 type Exec struct NameVal string Executer string 这是我尝试过的 但我不知道
  • golang mongodb (mgo) 没有插入文档

    我在使用 mgo 在 mongodb 中保存 golang 结构时遇到问题 type AN Track Log struct Id bson ObjectId bson id omitempty user session id str st
  • benchmem 的输出

    使用内存分析器运行基准测试时 我看到以下输出 SomeFunc 100 17768876 ns op 111 B op 0 allocs op 我不明白输出 0 allocs op 但分配了 111 B 知道这意味着什么吗 我的函数是否在堆
  • 是否可以使用 go:generate 重定向 stdin/stdout

    我有一个充当管道的工具 它从标准输入读取数据并将源代码写入标准输出 是否可以设置输入 输出重定向并将此类工具与 go generate 一起使用 就像是 go generate tool lt file txt gt file go 我想出

随机推荐

  • 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 和内存开销是多