国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

這篇具有很好參考價值的文章主要介紹了Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、本次學(xué)習(xí)重點內(nèi)容:

本堂課的知識要點有哪些?

1、性能發(fā)現(xiàn)工具pprof
2、性能調(diào)優(yōu)案例

二、詳細知識點介紹:

1、性能調(diào)優(yōu)簡介

性能調(diào)優(yōu)原則:

要依靠數(shù)據(jù)不是猜測

定位最大瓶頸而不是細枝末節(jié)

不要過早優(yōu)化

不要過度優(yōu)化

2、性能發(fā)現(xiàn)工具pprof

說明:

1、希望知道應(yīng)用在什么地方耗費了多少CPU、Memory

2、pprof是用于可視化和分析性能分析數(shù)據(jù)的工具

pprof 功能簡介

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

3、pprof 排查實戰(zhàn)

下載示例項目,GitHub地址:https://github.com/wolfogre/go-pprof-practice

項目提前埋入了許多炸彈代碼,會產(chǎn)生許多可觀測性能問題。

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

運行項目,瀏覽器輸入網(wǎng)址:http://localhost:6060/debug/pprof/

看到界面到:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

CPU:
使用任務(wù)管理器:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

使用pprof工具:

**進入pprof:**go tool pprof “http://localhost:6060/debug/pprof/profile?seconds=10”

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

使用top命令查看CPU狀態(tài):

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

相關(guān)含義:

可以清晰看到是那個函數(shù)消耗大量資源。

根據(jù)指定的正則表達式查找代碼行:

命令:list

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

調(diào)用關(guān)系可視化:命令:web

這里輸出圖片相關(guān)格式需要先安裝graphviz,graphviz安裝地址如下

https://graphviz.org/download/

安裝后檢查環(huán)境變量:

dot -version

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

記住,安裝時勾選創(chuàng)建環(huán)境變量,安裝完成后重啟Goland才能讀取到最新的環(huán)境變量。

一定要重啟Goland?。。。?!

刪除問題代碼再次運行:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

Heap堆內(nèi)存:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

進入可視化pprof:

命令:

go tool pprof -http=:8082 “http://localhost:6060/debug/pprof/heap”

瀏覽器輸入:

localhost:8082

top視圖:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

source視圖:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

注釋問題代碼后:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

可以看到內(nèi)存占用由85%降到68%

goroutine——協(xié)程
查看協(xié)程數(shù):

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

進入可視化pprof:

命令:

go tool pprof -http=:8082 “http://localhost:6060/debug/pprof/goroutine”

瀏覽器輸入:

localhost:8082

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

火焰圖查看

注:

由上到下表示調(diào)用順序

每一塊代表一個函數(shù),越長代表占用CPU 的時間更長

火焰圖是動態(tài)的,支持點擊塊進行分析

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

source視圖:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

注釋問題代碼后:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

mutex——鎖
查看鎖數(shù):

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

進入可視化pprof:

命令:

go tool pprof -http=:8082 “http://localhost:6060/debug/pprof/mutex”

瀏覽器輸入:

localhost:8082

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

source視圖:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

注釋問題代碼后:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

block——阻塞
查看阻塞數(shù):

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

進入可視化pprof:

命令:

go tool pprof -http=:8082 “http://localhost:6060/debug/pprof/block”

瀏覽器輸入:

localhost:8082

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

source視圖:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

注釋問題代碼后:

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

小結(jié):

Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用

4、性能調(diào)優(yōu)案例

介紹實際業(yè)務(wù)服務(wù)性能優(yōu)化的案例,對邏輯相對復(fù)雜的程序如何進行性能調(diào)優(yōu)

分類:

業(yè)務(wù)服務(wù)優(yōu)化

基礎(chǔ)庫優(yōu)化

Go語言優(yōu)化。

業(yè)務(wù)服務(wù)調(diào)優(yōu):
基本概念:

服務(wù):能單獨部署,承載一定功能的程序

依賴:Service A 的功能實現(xiàn)依賴Service B的響應(yīng)結(jié)果,稱為 Service A依賴 Service B

調(diào)用鏈路:能支持一個接口請求的相關(guān)服務(wù)集合及其相互之間的依賴關(guān)系

基礎(chǔ)庫:公共的工具包、中間件

流程

1、建立服務(wù)性能評估手段

2、分析性能數(shù)據(jù),定位性能瓶頸

3、重點優(yōu)化項改造

4、優(yōu)化效果驗證

建立服務(wù)性能評估手段

服務(wù)性能評估方式:

1、單獨benchmark無法滿足復(fù)雜邏輯分析

2、不同負載情況下性能表現(xiàn)差異

請求流量構(gòu)造:

1、不同請求參數(shù)覆蓋邏輯不同

2、線上真實流量情況

壓測范圍:

單機器壓測、集群壓測

性能數(shù)據(jù)采集:

單機性能數(shù)據(jù)、集群性能數(shù)據(jù)

基礎(chǔ)庫優(yōu)化:

AB實驗SDK的優(yōu)化:

1、分析基礎(chǔ)庫核心邏輯和性能瓶頸

設(shè)計完善改造方案

數(shù)據(jù)按需獲取

數(shù)據(jù)序列化協(xié)議優(yōu)化

2、內(nèi)部壓測驗證

3、推廣業(yè)務(wù)服務(wù)落地驗證

Go語言優(yōu)化:

編譯器&運行時優(yōu)化:

1、優(yōu)化內(nèi)存分配策略

2、優(yōu)化代碼編譯流程,生成更高效的程序

3、內(nèi)部壓測驗證

4、推廣業(yè)務(wù)服務(wù)落地驗證

優(yōu)點:

接入簡單,只需要調(diào)整編譯配置

通用性強

總結(jié):

性能調(diào)優(yōu)原則:

1、要依靠數(shù)據(jù)不是猜測性能分析工具 pprof

2、熟練使用pprof工具排查性能問題并了解其基本原理性能調(diào)優(yōu)

3、保證正確性·定位主要瓶頸

三、個人總結(jié):

? 本次學(xué)習(xí)算是比較深入的了解了性能優(yōu)化的相關(guān)知識。特別是見識到了pprof工具的強大,可以精準地定位問題代碼,可視化地展示程序運行中CPU、內(nèi)存、協(xié)程的資源的分配使用。后續(xù)的性能調(diào)優(yōu)專業(yè)知識也講的通俗易懂。文章來源地址http://www.zghlxwxcb.cn/news/detail-475993.html

到了這里,關(guān)于Go性能調(diào)優(yōu)及相關(guān)工具使用(四)——性能調(diào)優(yōu)工具pprof的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Sparkthrift Server 啟動命令調(diào)優(yōu)及問題報錯解決

    Sparkthrift Server 啟動命令調(diào)優(yōu)及問題報錯解決

    因為是測試命令,所以你需要和正式服務(wù)進行區(qū)別,不改變節(jié)點的情況下需要改變服務(wù)名稱和服務(wù)端口。 命令解析: –name spark_sql_thriftserver2 指定服務(wù)名稱為 spark_sql_thriftserver2 效果如圖: –master yarn --deploy-mode client 指定 spark Job 提交的運行模式為 yarn-client。 提交至 yarn 的運

    2024年02月07日
    瀏覽(19)
  • Go-高質(zhì)量編程與性能調(diào)優(yōu)

    Go-高質(zhì)量編程與性能調(diào)優(yōu)

    高質(zhì)量編程: 什么是高質(zhì)量: ? ——編寫代碼能達到正確可靠,簡潔清晰的目標 各種邊界條件是否考慮完備 異常情況處理,穩(wěn)定性保證 易讀易維護 編程原則 簡單性 消除“多余的復(fù)雜性”,以簡單清晰的邏輯編寫代碼 不理解的代碼無法修復(fù)改進 可讀性 代碼是寫給人看的

    2024年02月15日
    瀏覽(93)
  • G1垃圾回收參數(shù)調(diào)優(yōu)及MySQL虛引用造成GC時間過長分析

    G1垃圾回收參數(shù)調(diào)優(yōu)及MySQL虛引用造成GC時間過長分析

    我方有一應(yīng)用,偶爾會出現(xiàn)GC時間過長(間隔約4小時),導(dǎo)致性能波動的問題(接口最長需要耗時3秒以上)。經(jīng)排查為G1垃圾回收器參數(shù)配置不當(dāng) 疊加 MySQL 鏈接超過閑置時間回收,產(chǎn)生大量的虛引用,導(dǎo)致G1在執(zhí)行老年代混合GC,標記階段耗時過長導(dǎo)致。以下為對此問題的分析

    2024年02月11日
    瀏覽(90)
  • Go 性能壓測工具之wrk介紹與使用

    在項目正式上線之前,我們通常需要通過壓測來評估當(dāng)前系統(tǒng)能夠支撐的請求量、排查可能存在的隱藏bug;壓力測試(壓測)是確保系統(tǒng)在高負載情況下仍能穩(wěn)定運行的重要步驟。通過模擬高并發(fā)場景,可以評估系統(tǒng)的性能瓶頸、可靠性和穩(wěn)定性,進而優(yōu)化系統(tǒng)架構(gòu)和資源配

    2024年04月08日
    瀏覽(19)
  • SAP ABAP 代碼調(diào)優(yōu)檢查工具及性能調(diào)優(yōu)

    SAP ABAP 代碼調(diào)優(yōu)檢查工具及性能調(diào)優(yōu)

    一:代碼檢查工具 ABAP 測試儀表盤(ATC) 所有檢查工具, 豁免處理, 結(jié)果存儲的中心 代碼檢查器 (SCI) 提供給客戶,合作伙伴和SAP的做代碼相關(guān)檢查的開放式架構(gòu) 擴展程序檢查(SLIN) 擴展的代碼檢查,用來分析源代碼 SAP NetWeaver 應(yīng)用服務(wù)器,附加組件的代碼漏洞分析器 安全漏洞的

    2024年02月10日
    瀏覽(25)
  • go 調(diào)試利器之pprof指標分析

    go 調(diào)試利器之pprof指標分析

    Go語言原生支持對于程序運行時重要指標或特征進行分析。pprof是其中一種重要的工具,其不僅可以分析程序運行時的錯誤(內(nèi)存泄漏、并發(fā)沖突、協(xié)程泄漏等),也可以對程序進行優(yōu)化(比如定位cpu,內(nèi)存異常邏輯)。由于Go程序運行時不對外暴漏相關(guān)指標,因此Go提供了 ru

    2024年02月09日
    瀏覽(27)
  • go這么好用的pprof包卻引發(fā)了安全漏洞?規(guī)避pprof自動注冊默認url

    go這么好用的pprof包卻引發(fā)了安全漏洞?規(guī)避pprof自動注冊默認url

    最近項目在線上被檢測出有pprof有漏洞,原因是產(chǎn)品對外暴露的端口,可以通過http://ip:prot/debug/pprof/profile,獲取到代碼的堆棧信息,視為不安全的。 之所以pprof信息不安全,這要從go的 net/http/pprof 包的設(shè)計來講。 pprof作為一個非常方便的性能檢測工具,基本go服務(wù)都會默認開

    2024年01月19日
    瀏覽(48)
  • prometheus涉及pprof go信息泄露漏洞整改

    本文記錄一下對系統(tǒng)滲透測試后反饋Prometheus涉及pprof go信息泄露,驗證方法為http://ip:port/debug/pprof。為防止未經(jīng)授權(quán)用戶訪問,現(xiàn)決定在Prometheus層面使用basic_auth加密整改。 軟件 版本 Kylin V10 Docker 20.10.22 Prometheus 2.19.0 安裝工具包并生成加密后密碼 新建配置文件(暫時不使用

    2024年02月02日
    瀏覽(23)
  • 【Jvm】性能調(diào)優(yōu)(上)線上問題排查工具匯總

    【Jvm】性能調(diào)優(yōu)(上)線上問題排查工具匯總

    產(chǎn)品閉環(huán) 產(chǎn)品閉環(huán)是能夠讓 用戶主動迭代促進產(chǎn)品發(fā)展的方式 。例如一些內(nèi)容產(chǎn)品,比如 糗事百科 ,種子用戶 產(chǎn)出高質(zhì)量內(nèi)容 ,舉報與贊起到 篩選內(nèi)容 ,提高內(nèi)容質(zhì)量的作用, 內(nèi)容質(zhì)量的提升有助于吸引更多用戶 。 這就是產(chǎn)品閉環(huán), 產(chǎn)品給予用戶需求解決方法,用戶

    2024年02月20日
    瀏覽(30)
  • PHP調(diào)優(yōu)策略和性能測試工具的詳細解析 - 大規(guī)模網(wǎng)站性能優(yōu)化

    當(dāng)面臨大規(guī)模網(wǎng)站性能優(yōu)化時,對PHP進行調(diào)優(yōu)是至關(guān)重要的。這涉及到評估現(xiàn)有系統(tǒng)的性能瓶頸,并采取適當(dāng)?shù)牟呗詠硖岣呔W(wǎng)站的響應(yīng)速度和吞吐量。本文將深入探討PHP調(diào)優(yōu)的策略,以及可用于性能測試的工具。 使用緩存 :合理使用緩存可以減少數(shù)據(jù)庫查詢和計算操作,提

    2024年02月12日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包