Heim > Artikel > Backend-Entwicklung > Informationen zur Golang-CPU-Leistungsanalyse
Die folgende Kolumne stellt allen in der Kolumne Golang-Tutorial die Golang-CPU-Leistungsanalyse vor. Ich hoffe, dass sie für Freunde in Not hilfreich sein wird!
(1) Zeitbefehl (unter Linux-System)
time go run a.go
real: die tatsächlich verbrachte Zeit vom Anfang bis zum Ende des Programms
Benutzer: der Einstellung des Programms im Benutzer Verstrichene Zeit
sys: Die Zeit, die das Programm im Kernel verbracht hat
Im Allgemeinen real>=user+sys
(2) /usr/bin/time-Befehl (unter Linux-System)
/usr/bin/time -v go run a.go
Dieser Befehl kann die CPU-Belegung, Speichernutzung, Prozessumschaltung, Dateisystem-IO und Socket-Situation anzeigen
(1) Füge _ „net/http/pprof“ in das Programm ein und aktiviere pprof Überwachung
import _
http.ListenAndServe("0.0.0.0:10000", nil)
程序结束
Überprüfen Sie die CPU-Informationen und den Status über den Browser
http://127.0.0.1:10000/debug/pprof
Hinweis: Warten Sie, bis das Programm eine bestimmte Zeit lang ausgeführt wird, und klicken Sie dann zum Abschluss auf die Profildatei (mindestens 30 Sekunden)
(2) Verwenden pprof
go tool pprof [binary] [profile] //binary二进制文件 profile 要分析的文件
top //查看当前profile文件的cpu使用率
flat Die Ausführungszeit des eigenen Codes der Funktion
flat% Die Ausführungszeit des eigenen Codes der Funktion nimmt den Prozentsatz der CPU-Zeit ein.
cum stellt den eigenen Code der Funktion + alle aufgerufenen Funktionen dar. Die Ausführungszeit von
cum % stellt die Ausführungszeit des Codes der Funktion selbst + aller aufgerufenen Funktionen dar und macht den Gesamtprozentsatz der CPU-Zeit aus pprof-Profildatei
Starten Sie das zu debuggende Programm und führen Sie das Go-Tool pprof http://localhost:10000/debug/pprof/profile?seconds= in einem anderen Terminal aus. 60
(4) Visuelles Strukturdiagramm
先在终端运行 go tool pprof [binary] [profile] ,然后输入web,浏览器会弹出一个可视化的图片。
Weitere Informationen zum Thema Für technische Artikel besuchen Sie bitte die
go languagetutorial-Kolumne!
Das obige ist der detaillierte Inhalt vonInformationen zur Golang-CPU-Leistungsanalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!