>백엔드 개발 >Golang >golang CPU 성능 분석 정보

golang CPU 성능 분석 정보

藏色散人
藏色散人앞으로
2020-12-25 16:04:183144검색

다음 칼럼은 golang 튜토리얼 칼럼에서 여러분에게 golang CPU 성능 분석을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

golang CPU 성능 분석 정보

1. 프로그램의 실행 시간을 분석합니다.

(1) time 명령(Linux 시스템에서)

time go run a.go

real: 프로그램 시작부터 끝까지 소요된 실제 시간

user: the Elapsed time

sys: 프로그램이 커널에서 보낸 시간

일반적으로 real>=user+sys

(2) /usr/bin/time 명령(Linux 시스템에서)

/usr/bin/time -v go run a.go

이 명령은 CPU 점유율, 메모리 사용량, 프로세스 전환, 파일 시스템 IO, 소켓 상황을 볼 수 있습니다.

II. golang에서 CPU 성능 분석

(1) 프로그램에 "net/http/pprof"를 도입하고 pprof를 활성화합니다. 모니터링

 import _
http.ListenAndServe("0.0.0.0:10000", nil)
程序结束

브라우저를 통해 CPU 정보 및 상태 확인

http://127.0.0.1:10000/debug/pprof

참고, 일정 시간 동안 프로그램이 실행될 때까지 기다린 후 프로필 파일을 클릭하면 완료됩니다(최소 30초)

(2) 사용 pprof

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

flat 함수 자체 코드의 실행 시간

flat% 함수 자체 코드의 실행 시간은 CPU 시간의 백분율을 차지합니다.

cum은 함수 자체 코드 + 호출된 모든 함수를 나타냅니다.

cum의 실행 시간 %는 함수 자체 코드 + 호출된 모든 함수의 실행 시간을 나타내며 총 CPU 시간 소비 백분율을 고려합니다.

각 행의 flat%의 합계% 및 위의 모든 것의 flat% 합계

(3) go 도구 pprof 프로필 파일

디버깅할 프로그램을 시작하고 다른 터미널에서 go tool pprof http://localhost:10000/debug/pprof/profile?seconds= 실행 60

(4) 시각적 구조 다이어그램

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

자세한 내용은 기술 기사를 보려면 go 언어 튜토리얼 칼럼을 방문하세요!

위 내용은 golang CPU 성능 분석 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제