亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可以在生產中使用 golang pprof 而不影響性能嗎?

可以在生產中使用 golang pprof 而不影響性能嗎?

Go
一只名叫tom的貓 2022-07-04 10:36:22
我對這個pprof工具有點陌生,我想知道在生產中繼續運行它是否可以。從我看到的文章來看,這似乎是好的和標準的,但是我很困惑這不會影響性能,因為它N每秒都會進行一次采樣,以及為什么這不會導致性能下降。
查看完整描述

1 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

Jaana Dogan在她的文章“ Go 程序的持續分析”中確實說過

生產中的分析

pprof 在生產中使用是安全的。
我們的目標是為 CPU 和堆分配分析額外增加 5% 的開銷。

收集從單個實例每分鐘發生 10 秒。如果您有一個 Kubernetes pod 的多個副本,我們會確保進行攤銷收集。
例如,如果您有 10 個 pod 副本,則開銷將為 0.5%。這使用戶可以始終保持分析。

我們目前支持 Go 程序的 CPU、堆、互斥鎖和線程配置文件。

為什么?

在解釋如何在生產中使用分析器之前,解釋一下為什么要在生產中進行分析會很有幫助。一些非常常見的情況是:

  • 調試性能問題僅在生產中可見。

  • 了解 CPU 使用率以減少計費。

  • 了解爭用在何處累積和優化。

  • 了解新版本的影響,例如看到金絲雀和生產之間的區別。

  • 通過將它們與分析樣本相關聯來豐富您的分布式跟蹤,以了解延遲的根本原因。

因此,如果您pprof出于正確的原因使用它,是的,您可以將其留在生產中。
但是對于基本監控,正如評論的那樣,該系統就足夠了。

正如Vladimir Varankin在“ Continuous Profiling and Go ”中所指出的那樣

根據公司基礎設施的狀態,應用程序進程中的“意外”HTTP 服務器可能會向您的系統運營部門提出問題;)

同時,根據公司的特殊性質,訪問生產應用程序中的某些內容(與應用程序的業務邏輯沒有直接關系)的能力可能會引起安全部門的質疑;))我

因此,在啟用此類功能時,開銷并不是唯一要考慮的標準。


查看完整回答
反對 回復 2022-07-04
  • 1 回答
  • 0 關注
  • 243 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號