Maison > développement back-end > Golang > À propos de l'analyse des performances du processeur Golang

À propos de l'analyse des performances du processeur Golang

藏色散人
Libérer: 2020-12-25 16:04:18
avant
3147 Les gens l'ont consulté

Ce qui suit est une introduction à l'analyse des performances du processeur Golang de la colonne tutoriel Golang J'espère que cela sera utile aux amis dans le besoin !

À propos de l'analyse des performances du processeur Golang

1. Analyser le temps d'exécution du programme

(1) commande time (sous système Linux)

time go run a.go
Copier après la connexion

real : Démarrer du programme Jusqu'à la fin, le temps réel passé

user : le temps que le programme a passé dans l'attitude de l'utilisateur

sys : le temps que le programme a passé dans le noyau

Conditions générales Sous, real>=user+sys

(2) commande /usr/bin/time (sous système Linux)

/usr/bin/time -v go run a.go
Copier après la connexion

Sous cette commande, vous pouvez voir le processeur utilisation, utilisation de la mémoire, commutation de processus, io du système de fichiers et conditions de socket

2. Analyse des performances du processeur sous golang

(1) Introduire _ "net/http/pprof" dans le programme et activer la surveillance pprof

 import _
Copier après la connexion
http.ListenAndServe("0.0.0.0:10000", nil)
Copier après la connexion
程序结束
Copier après la connexion

Vérifiez les informations et l'état du processeur via le navigateur

http://127.0.0.1:10000/debug/pprof
Copier après la connexion

Remarque, attendez que le programme s'exécute pendant un certain temps, puis cliquez sur le fichier de profil pour terminer ( au moins 30 s)

(2) Utiliser pprof

go tool pprof [binary] [profile] //binary二进制文件 profile 要分析的文件
Copier après la connexion
top //查看当前profile文件的cpu使用率
Copier après la connexion

flat Le temps d'exécution du propre code de la fonction ⻓

flat% Le temps d'exécution du propre code de la fonction représente le pourcentage de temps CPU ⽐

cum représente le code de la fonction elle-même + le temps d'exécution de toutes les fonctions appelées ⽐

cum% représente le code de la fonction elle-même + le temps d'exécution de. toutes les fonctions appelées Temps d'exécution, pourcentage du temps CPU total dépensé

somme% Le% plat de chaque ligne et la somme des% plats de toutes les lignes ci-dessus

(3) allez à l'outil pprof. fichier de profil

Démarrez le programme à déboguer et exécutez go tool pprof dans un autre terminal http://localhost:10000/debug/pprof/profile?seconds=60

(4) Structure visuelle Picture

先在终端运行 go tool pprof [binary] [profile] ,然后输入web,浏览器会弹出一个可视化的图片。
Copier après la connexion

Pour plus d'articles techniques connexes, veuillez visiter la colonne du didacticiel go langage !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal