프로필 이동 Pprof

Peulopil Idong Pprof



Linux 운영 체제에서 GO 에코시스템은 GO 프로그램의 성능 및 논리 문제를 진단하기 위한 대규모 도구 및 SPI 제품군을 제공합니다. 진단 솔루션 중 하나는 GO 프로파일링입니다. GO 프로파일링의 기능은 비용, 메모리 사용량 및 빈번한 함수 호출 측면에서 GO 프로그램을 분석하여 프로그램의 가장 비싼 섹션을 파악하는 것입니다. 이 페이지는 pprof 패키지를 사용하여 몇 초 안에 GO 프로파일링을 수행하는 방법을 보여줍니다. 여기에서 우리는 GO 프로그램을 프로파일링하기 위한 pprof 함수를 탐색할 것입니다. 의 시작하자!

Linux에서 Pprof 패키지란?

Linux 운영 체제의 pprof 패키지는 pprof 시각화 도구의 도움으로 런타임 프로파일링 데이터를 필요한 형식으로 작성하는 데 사용되는 프로파일링 도구입니다. 런타임 프로파일링 데이터를 위해 HTTP 서버를 통해 제공되며 대부분 HTTP 처리기 등록의 부작용을 위해 가져옵니다. pprof 명령의 모든 핸들 경로는 /debug/pprof/ 다음에 특정 명령이 옵니다.

Ubuntu 22.04 시스템에서 GO 프로파일링을 위한 Pprof 패키지를 설치하는 방법

프로파일링의 빠른 설치 프로세스를 찾고 있지만 모든 것이 번거로우시다면 다음 프로세스를 따르십시오. Ubuntu 22.04 시스템에 pprof를 설치하려면 몇 가지 단계를 따라야 합니다. 다음은 해당 단계입니다.







먼저 pprof 패키지가 중단되지 않도록 모든 종속성을 설치해야 합니다. 먼저 다음 명령을 사용하여 Graphviz 종속성을 설치합니다.





루트 권한을 부여하려면 'sudo'를 사용해야 합니다. 그렇지 않으면 시스템에서 패키지 설치를 허용하지 않을 수 있습니다. 다음 출력을 참조하십시오.







이제 시스템에는 pprof 패키지에 대한 종속성이 있습니다. pprof 패키지를 설치할 수 있습니다. 'go get' 명령을 사용하여 GitHub에서 pprof를 가져옵니다. 다음은 명령입니다.

'go' 명령이 사전 설치되어 있지 않은 경우 사용하려면 특별히 설치해야 합니다. 우리 시스템에는 'go' 명령이 설치되어 있지 않으므로 'command not found' 결과가 나타납니다. 다음 출력을 참조하십시오.

먼저 'go' 패키지를 설치한 다음 이를 사용하여 GitHub에서 pprof 패키지를 가져옵니다. 이전 스크린샷에서 볼 수 있듯이 'go' 패키지를 설치하는 세 가지 옵션이 있으므로 그 중 아무거나 사용할 수 있습니다. 모두 약간 다른 기능으로 동일한 결과를 제공합니다. 그러나 우리는 'go' 패키지 버전 '2:1.18~0ubuntu2'를 설치하기 위해 'sudo apt install golang-go' 명령을 사용하고 있습니다. 다음 명령을 실행합니다.

이를 통해 'go' 패키지와 모든 종속성 및 관련 라이브러리를 설치할 수 있습니다. 다음 출력을 참조하십시오.

이제 GitHub 저장소로 이동하여 pprof 패키지를 설치합니다. pprof 패키지는 프로파일링 데이터의 분석 및 시각화에 사용되는 도구이지만 공식 Google 제품은 아닙니다. 이것이 GitHub 저장소를 활용하고 'go' 명령으로 pprof 패키지를 수동으로 설치할 수 있는 이유입니다. 'go install github.com/google/ 설치'를 시작하기 전에 시스템이 전제 조건의 모든 요구 사항을 충족하는지 확인하십시오. [이메일 보호됨] ' 명령. 전제 조건은 지원되는 버전의 'go' 개발 키트와 프로필의 그래픽 시각화를 생성하기 위한 graphviz 응용 프로그램입니다. Graphviz 응용 프로그램은 선택 사항이므로 원하는 경우 건너뛸 수 있습니다. 우리는 둘 다 설치하고 pprof 패키지를 위한 플랫폼을 준비했기 때문에 우리 시스템은 그것을 설치할 준비가 되었습니다. GitHub 리포지토리에 대한 액세스 권한을 얻어 설치 프로세스를 시작하겠습니다. 다음 명령을 참조하십시오.

이 명령은 'github.com/google/ [이메일 보호됨] ' 주소. GitHub 리포지토리에서 pprof 패키지를 설치합니다. 다음 결과를 참조하십시오.

'go' 명령은 패키지를 다운로드하고 Ubuntu 22.04 시스템에 순차적으로 설치됩니다. 바이너리는 기본적으로 $HOME/go/bin 위치에 설치됩니다.

Pprof 매뉴얼 페이지 표시

이제 pprof 패키지의 세부 정보를 얻으려면 pprof의 매뉴얼 페이지를 확인하십시오. 매뉴얼 페이지에는 각각에 대한 간략한 세부 사항과 함께 pprof 패키지에 대한 모든 옵션이 포함되어 있습니다. 이를 통해 pprof의 각 옵션을 알고 코드에서 쉽게 사용할 수 있습니다. 또한 필요할 때마다 –help 플래그를 사용하여 매뉴얼 페이지를 다시 참조할 수 있습니다. 방법은 다음과 같습니다.

그러면 터미널에 전체 매뉴얼 페이지가 표시됩니다. 다음을 살펴보십시오.

보시다시피, pprof 명령에 사용할 수 있는 옵션이 많이 있습니다. 이들 중 하나를 사용하여 필요한 형식화된 프로파일링 데이터를 얻을 수 있습니다.

데이터 프로파일링에 Pprof 사용

프로그램에서 pprof를 사용하려면 먼저 pprof 패키지를 가져옵니다. 다음 명령을 사용하여 pprof 패키지를 가져옵니다.

가져오기를 시작하기 전에 애플리케이션이 이미 HTTP 서버를 실행하고 있는지 확인하십시오. 실행 중인 HTTP 서버 응용 프로그램 서버가 없는 경우 가져오기에 'net/http' 및 'log'를 추가하고 다음 코드를 추가하여 시작해야 합니다.

이제 pprof 명령을 사용하여 힙 프로필을 볼 수 있습니다. 다음 명령은 http://localhost의 힙 프로필을 확인하는 데 사용됩니다.

그러면 프로필 찾기가 시작되고 http 서버에 연결을 시도합니다. 다음 응답을 참조하십시오.

동일한 절차를 따르면 30초 CPU 프로필, 고루틴 차단 프로필, 경합 뮤텍스 보유자 등을 볼 수 있습니다.

결론

이 매뉴얼은 Ubuntu 22.04 운영 체제에서 사용되는 pprof 명령의 빠른 연습입니다. Linux 시스템에서 pprof 명령이 무엇인지 살펴보았습니다. 그리고 Ubuntu 22.04 시스템에 설치하는 방법을 배웠습니다. 또한 Linux 운영 체제에서 pprof 패키지에 사용할 수 있는 다양한 옵션에 대해서도 배웠습니다. pprof 패키지의 기본 기능은 HTTP 서버를 통해 런타임 프로파일링 데이터를 제공하는 동시에 pprof 시각화 도구를 통해 필요한 형식으로 프로파일링된 데이터를 제공하는 것입니다. 이를 통해 단 30초 만에 GO를 프로파일링할 수 있습니다.