V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Aumujun
V2EX  ›  Go 编程语言

[Golang] 一个线上的 Go 程序,是否应该长期开启 pprof

  •  
  •   Aumujun ·
    None · 2022-12-26 15:00:59 +08:00 · 3140 次点击
    这是一个创建于 708 天前的主题,其中的信息可能已经有所发展或是发生改变。
    13 条回复    2022-12-29 09:36:00 +08:00
    allgy
        1
    allgy  
       2022-12-26 15:06:33 +08:00
    不应该,开启 pprof 会影响性能
    v2wtf
        2
    v2wtf  
       2022-12-26 15:08:19 +08:00
    没性能压力的,建议开着。你永远不知道线上会出什么幺蛾子。
    FarmerChillax
        3
    FarmerChillax  
       2022-12-26 16:03:58 +08:00
    赞同二楼说的,你永远不知道线上会出什么幺蛾子!!!
    我再补充一下:
    没性能压力的,建议开着。
    有性能压力的,建议多开两个实例😆
    perfectlife
        4
    perfectlife  
       2022-12-26 16:39:38 +08:00
    运维的心声:硬件其实挺不值钱的,比起出故障的损失(经济和背锅)
    Aumujun
        5
    Aumujun  
    OP
       2022-12-26 16:41:39 +08:00
    @perfectlife @FarmerChillax @v2wtf 那还是开着好😆,这跑的也不是太消耗性能的程序
    29EtwXn6t5wgM3fD
        6
    29EtwXn6t5wgM3fD  
       2022-12-26 16:45:58 +08:00
    在没有 pprof 的时候只会耗一个 http 协程的开销,只有在 pprof 的时候才会有额外的开销。
    virusdefender
        7
    virusdefender  
       2022-12-26 16:47:09 +08:00
    我都是注册一个 sigusr1 来开启 pprof ,默认不开,不过一直监听一个本地端口也无所谓
    gam2046
        8
    gam2046  
       2022-12-26 17:10:50 +08:00
    #3 是我最后实践的方式。

    之前遇到过一个问题,grpc 服务,不定时出现 OOM ,由于配置了 docker restart always ,所以头几次 oom 并没有人发现。

    快两个月以后,有客户反应,阶段性服务不可用,这个时候才回去看日志,才知道上线之处就有问题了。

    之后就不管需要不需要,pprof 一律都给安排上了。实在对性能要求高的,一个开,一个不开,前面怼上 SLB
    Aumujun
        9
    Aumujun  
    OP
       2022-12-26 18:45:50 +08:00 via Android
    @gam2046 那如果是没开 pprof 的那个出现问题呢
    Aumujun
        10
    Aumujun  
    OP
       2022-12-26 18:46:49 +08:00 via Android
    @virusdefender 做的动态的开关吗 好像也是个不错的操作。
    gamexg
        11
    gamexg  
       2022-12-26 20:46:57 +08:00
    net/http/pprof
    会有性能损耗?
    我看源码,只会在 init 函数注册几个 debug/pprof http HandleFunc 。
    tairan2006
        12
    tairan2006  
       2022-12-27 08:09:40 +08:00 via Android
    不都是用 http 接口么…本来 metric 也要 http 啊,有啥开销
    paceewang1
        13
    paceewang1  
       2022-12-29 09:36:00 +08:00
    pprof 不会消耗性能吧,我记得压测对比过 http 服务是相差无几的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:39 · PVG 04:39 · LAX 12:39 · JFK 15:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.