對golang應用執行時占用記憶體和cpu的大小和時間進行統計分析
執行時開啟監控
go func() ()使用beego 自帶了這個功能,需要配置如下:
enableadmin = true
在main.go
加入import _ "net/http/pprof"
web頁面檢視
通過訪問localhost:6060/debug/pprof
檢視簡單頁面
go 命令詳細分析
在專案目錄下執行命令:
這個命令會執行30s,分析這段時間內cpu的使用
這個命令會生成記憶體占用分析執行以上命令後會進入乙個互動式模式,可以輸入一下命令分析:
輸入乙個數字可以看到前n個占用最高的內容topn顯示引數含義
flat
為方法直接執行消耗的cpu時間,cum為方法呼叫的方法加上方法直接執行消耗的時間.比如:
func b()
sum
為當前排序下的flat總和,比如:第一行的sum和flat%相同,第二行的sum為第一行的flat%加上第二行的flat%,以此類推.
會生成svg檔案,通過瀏覽器開啟可以看到,如果報錯,意味缺少環境,centos下執行yum install graphviz
安裝依賴包
svg檔案分析表示當前顯示的內容總共占用cpu830ms,整個程式總共占用cpu950ms配置環境,安裝如下應用
git clone
go get -v github.com/uber/go-torch
將 flamegraph配置到環境變數中.
進入go-torch目錄執行go build
,生成執行檔案,執行命令:
go-torch -u http://localhost:8088 -t 20
會在當前目錄生成svg檔案,用瀏覽器開啟. Android應用效能優化
記憶體,ui,電量 1.記憶體 首先簡單介紹一下android系統記憶體管理機制.記憶體共享 預設情況 string vmheapsize systemproperties.get dalvik.vm.heapsize 16m 只有16m.可以通過在device.mk檔案中設定 product pr...
Android應用效能優化
1 anr 2 listview 卡頓,不流暢 3 activity啟動慢 4 動畫不流暢,啟動前卡頓 5 自定義view啟動慢 6 oom 7 資料庫大量操作 8 長時間執行後,程式變慢 1 語言層解決問題,語法上提高效能 2 合理的資料結構和演算法 3 布局優化,布局深度控制 4 工作執行緒與u...
Web應用效能優化思路
瓶頸是什麼?一條4車道的公路,執行非常順暢,突然出了點事故,事故車導致某個地方只剩下1車道,然後就開始堵車,因為四輛車同時塞向乙個車道裡。把這個事故清除了,故障車拖走了,道路會開始恢復了通暢。這個道理誰都懂,但偏偏有些傻瓜交警去把4車道變成8車道,但卻不清理事故路段。乙個web應用,不管是何種語言開...