我有几个go程序,其中有一个未使用的net/http/pprof输入.
import _ "net/http/pprof"
...
//http.ListenAndServe("127.0.0.1:6060", nil)
Run Code Online (Sandbox Code Playgroud)
我想知道这个导入的开销是多少CPU和Mem.阿卡.我应该删除产品(是的),但如果我忘了会有什么影响?
相关:这个导入的确切副作用是什么?它注册了一些http处理程序,但它是否也在go的malloc函数中注入了东西?
Did*_*zia 21
导入net/http/pprof包的开销非常有限:它只是为http服务器安装了一些处理程序.请参阅以下源代码:
http://golang.org/src/pkg/net/http/pprof/pprof.go
CPU分析在初始化时未激活,仅在调用/ debug/pprof/profile REST服务时激活一段时间(默认为30秒).因此,使用此程序包进行编译不应对应用程序的性能产生太大影响(除了需要额外的http服务器goroutine).
现在,在执行/ debug/pprof/profile期间,CPU采样被激活,因此预计会产生性能开销.我想它可以用于生产代码,前提是对相应端口的访问仅限于应用程序的管理员.
| 归档时间: |
|
| 查看次数: |
2263 次 |
| 最近记录: |