문서 애플리케이션

이 페이지에서는 Cloud Shell을 사용하여 GitHub golang-samples/profiler 저장소에서 샘플을 다운로드하고 실행하는 방법을 설명합니다. Google Cloud 외부에서 이러한 샘플을 실행할 수도 있습니다. 이러한 경우에 필요한 추가 구성 단계는 Google Cloud 외부에서 실행되는 애플리케이션 프로파일링을 참조하세요.

이 프로그램을 실행하면 Cloud Profiler 인터페이스의 기능을 탐색하는 데 사용할 수 있는 프로파일링 데이터를 빠르게 만들 수 있습니다. 이러한 샘플의 복사본을 수정하고 다시 배포한 후 Cloud Profiler 인터페이스를 사용하여 변경사항이 미치는 영향을 분석할 수도 있습니다.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Cloud Profiler API.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Enable the Cloud Profiler API.

    Enable the API

Cloud Shell 시작

프로젝트의 Google Cloud Console 페이지 상단에 있는 Cloud Shell 활성화를 클릭합니다.

Cloud Shell 활성화

Console 하단의 새 프레임에서 Cloud Shell 세션이 열리고 메시지 두 개와 명령줄 프롬프트가 표시됩니다. 첫 번째 메시지에는 Cloud Shell 세션의 Google Cloud 프로젝트가 나열됩니다. 두 번째 메시지는 세션 프로젝트를 변경하는 방법을 알려줍니다. 셸 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

Cloud Shell 세션

프로파일링할 프로그램 가져오기

Cloud Shell에서 Go 샘플 패키지를 검색합니다.

git clone https://github.com/GoogleCloudPlatform/golang-samples.git

잠시 후 패키지 검색이 완료됩니다.

profiler_quickstart

profiler_quickstart 샘플은 hello-profiler 서비스를 실행하도록 구성됩니다. Profiler 빠른 시작에서는 이 샘플을 사용합니다.

hello-profiler를 시작하려면 다음을 수행합니다.

  1. profiler_quickstart 디렉터리로 변경합니다.

    cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/profiler_quickstart
    
  2. 다음 명령어를 실행하여 서비스를 시작합니다.

    go run main.go
    

서비스를 시작하고 몇 초 후에 Cloud Shell 세션에 profiler has started 메시지가 표시됩니다. 프로필이 Google Cloud 프로젝트에 업로드될 때마다 새 메시지가 표시됩니다.

서비스를 중지하려면 Ctrl-C를 입력합니다.

hotapp

hotapp 샘플에서는 함수 두 개를 호출하는 무한 루프를 사용한 후 Go 스케줄러를 사용합니다. 이 샘플은 -local_work 플래그 설정을 지원합니다. 이 플래그가 true이면 루프 형식의 작업이 개별 함수에 추가됩니다. 기본적으로 이 플래그는 false로 설정되어 있습니다.

hotapp 샘플을 실행하려면 다음을 수행합니다.

  1. hotapp 디렉터리로 변경합니다.

    cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/hotapp
    
  2. 다음 명령어를 실행하여 서비스를 시작합니다.

    go run main.go
    

    Cloud Profiler 문서에 표시된 데이터와 일치하는 프로필 데이터를 생성하려면 다음 호출을 사용합니다.

    go run main.go -service=docdemo-service -local_work -skew=75 -version=1.75.0
    

서비스를 시작하고 몇 초 후에 Cloud Shell 세션에 profiler has started 메시지가 표시됩니다. 프로필이 Google Cloud 프로젝트에 업로드될 때마다 새 메시지가 표시됩니다.

서비스를 중지하려면 Ctrl-C를 입력합니다.

프로필 비교 섹션에서는 docdemo-service의 배포 두 개를 사용했습니다. 첫 번째 배포에서는 skewversion이 앞의 설명대로 설정되었습니다. 두 번째 배포에서는 skew25로, version1.25.0으로 설정되었습니다.

문제 해결

서비스를 시작한 후 권한 거부 오류 메시지가 표시되는 경우 Google Cloud 프로젝트 구성 오류를 참조하세요.