Skip to content

Commit

Permalink
New translations node-profiling.md (Korean)
Browse files Browse the repository at this point in the history
  • Loading branch information
kaia-docs committed Jan 23, 2025
1 parent 4fcbdbf commit 6872ed0
Showing 1 changed file with 26 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ go version

## 1\. 프로파일링 관리하기: 시작, 중지 및 상태 확인 방법

Kaia 노드는 여러 가지 프로파일링 방법을 제공하는 '디버그' API를 제공합니다. 노드의 콘솔 또는 [JSON-RPC API 호출](https://docs.kaia.io/references/json-rpc/debug/start-p-prof/)을 통해 이러한 메서드와 상호 작용할 수 있습니다.
Kaia 노드는 여러 가지 프로파일링 방법을 제공하는 `debug` API를 제공합니다. 노드의 콘솔 또는 [JSON-RPC API 호출](https://docs.kaia.io/references/json-rpc/debug/start-p-prof/)을 통해 이러한 메서드와 상호 작용할 수 있습니다.

### 1.1 pprof HTTP 서버 시작하기

Expand Down Expand Up @@ -70,7 +70,7 @@ pprof 서버가 실행되면 여러 가지 방법을 사용하여 다양한 프

`http://localhost:6060/debug/pprof/profile?seconds=30`

debug=2로 고루틴 프로파일 수집\*\*\*\*
**debug=2로 고루틴 프로파일 수집**

`http://localhost:6060/debug/pprof/goroutine?debug=2`

Expand All @@ -89,30 +89,30 @@ debug=2로 고루틴 프로파일 수집\*\*\*\*
> debug.setMutexProfileFraction(1)
```

### 2.3 '이동 도구 pprof'를 사용하여 수집하기
### 2.3 `go tool pprof`'를 사용하여 수집하기

pprof 웹 인터페이스에 액세스할 수 없는 경우, '이동 도구 pprof'를 사용하여 로컬에서 프로파일링 결과를 생성하고 분석할 수 있습니다.
pprof 웹 인터페이스에 액세스할 수 없는 경우, `go tool pprof`를 사용하여 로컬에서 프로파일링 결과를 생성하고 분석할 수 있습니다.

#### 사용 가능한 프로필 유형 식별

지원되는 프로필은 다음과 같습니다:

- 할당\`: 과거의 모든 메모리 할당의 샘플링입니다.
- 블록\`: 동기화 프리미티브에 대한 차단으로 이어진 스택 추적.
- 고루틴`: 현재 모든 고루틴의 트레이스를 스택합니다. 복구되지 않은 패닉과 동일한 형식으로 내보내려면 쿼리 매개변수로 `debug=2\`를 사용합니다.
- `: 라이브 객체의 메모리 할당 샘플링입니다. 힙 샘플을 채취하기 전에 `gc\` GET 매개변수를 지정하여 가비지 컬렉션을 실행할 수 있습니다.
- 뮤텍스\`: 경합 중인 뮤텍스 보유자의 흔적을 스택에 쌓습니다.
- `프로필`: CPU 프로파일. `GET 매개변수에 기간을 지정할 수 있습니다. 프로필 파일을 받은 후`go tool pprof\` 명령을 사용하여 프로필을 조사합니다.
- 스레드 생성\`: 새 OS 스레드를 생성한 스택 추적을 추적합니다.
- 추적`: 현재 프로그램의 실행 흔적입니다. ` GET 매개변수에 기간을 지정할 수 있습니다. 추적 파일을 받은 후 '도구 추적 이동' 명령을 사용하여 추적을 조사합니다.
- `allocs`: 과거의 모든 메모리 할당의 샘플링입니다.
- `block`: 동기화 프리미티브에 대한 차단으로 이어진 스택 추적.
- `goroutine`: 현재 모든 고루틴의 트레이스를 스택합니다. 복구되지 않은 패닉과 동일한 형식으로 내보내려면 쿼리 매개변수로 `debug=2`를 사용합니다.
- `heap`: 라이브 객체의 메모리 할당 샘플링입니다. 힙 샘플을 채취하기 전에 `gc` GET 매개변수를 지정하여 가비지 컬렉션을 실행할 수 있습니다.
- `mutex`: 경합 중인 뮤텍스 보유자의 흔적을 스택에 쌓습니다.
- `profile`: CPU 프로파일. `seconds` GET 매개변수에 기간을 지정할 수 있습니다. 프로필 파일을 받은 후 `go tool pprof` 명령을 사용하여 프로필을 조사합니다.
- `threadcreate`: 새 OS 스레드를 생성한 스택 추적을 추적합니다.
- `trace`: 현재 프로그램의 실행 흔적입니다. `seconds` GET 매개변수에 기간을 지정할 수 있습니다. 추적 파일을 받은 후 `go tool trace` 명령을 사용하여 추적을 조사합니다.

#### '이동 도구 pprof'를 사용하여 프로필 수집하기
#### `go tool pprof`를 사용하여 프로필 수집하기

```bash
go tool pprof http://localhost:6060/debug/pprof/<profiletype>
```

<profiletype>`를 위에 나열된 지원되는 프로필 중 하나(예: `heap`, `profile\`)로 바꿉니다.
`<0>`를 위에 나열된 지원되는 프로필 중 하나(예: `heap`, `profile`)로 바꿉니다.

#### 명령 예제

Expand All @@ -129,7 +129,7 @@ go tool pprof http://localhost:6060/debug/pprof/goroutine?debug=2

#### 텍스트 프로파일링 파일 생성

텍스트 기반 프로파일링 보고서를 생성하려면 '이동 도구 pprof'와 함께 `-text` 옵션을 사용하세요.
텍스트 기반 프로파일링 보고서를 생성하려면 `go tool pprof`와 함께 `-text` 옵션을 사용하세요.

```bash
# Generate text-based CPU profile
Expand Down Expand Up @@ -165,11 +165,11 @@ go tool pprof http://localhost:6060/debug/pprof/heap?gc=1

- **할당, 블록, 고루틴, 힙, 뮤텍스, 스레드 생성 프로필:**

- 초=N\`은 주어진 기간을 기준으로 델타 프로파일을 반환합니다.
- `seconds=N`은 주어진 기간을 기준으로 델타 프로파일을 반환합니다.

- **CPU 프로파일 및 트레이스 프로파일:**

- 초=N\`은 CPU 프로파일 또는 추적을 실행할 기간을 지정합니다.
- `seconds=N`은 CPU 프로파일 또는 추적을 실행할 기간을 지정합니다.

**예시:**

Expand All @@ -179,15 +179,15 @@ go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30

### 2.4 Go 설치 없이 수집

프로그램에 Go가 설치되지 않은 경우(`go 버전`을 실행하여 확인할 수 있음) 다음 단계에 따라 프로파일링 데이터를 로컬에 다운로드하여 저장하세요:
프로그램에 Go가 설치되지 않은 경우(`go version`을 실행하여 확인할 수 있음) 다음 단계에 따라 프로파일링 데이터를 로컬에 다운로드하여 저장하세요:

1. wget\`을 사용하여 프로필 파일을 다운로드합니다.
1. `wget`을 사용하여 프로필 파일을 다운로드합니다.

```bash
wget -O memory_profile http://localhost:6060/debug/pprof/heap
```

2. scp\`를 사용하여 프로필 파일을 로컬 컴퓨터로 전송합니다.
2. `scp`를 사용하여 프로필 파일을 로컬 컴퓨터로 전송합니다.

```bash
scp <user>@<node_ip>:memory_profile memory_profile
Expand Down Expand Up @@ -218,7 +218,7 @@ Kaia는 `MemProfileRate` 변수를 쉽게 설정할 수 있는 `--memprofilerate
var MemProfileRate int = 512 * 1024
```

- **멤프로파일레이트\`:** 설정
- **`MemProfileRate `:** 설정
- **프로필 최대 할당량:** `1`로 설정합니다.
- **프로파일링 비활성화:** `0`으로 설정합니다.
- **기본 설정:** `512 * 1024`(512KB당 약 1개의 할당 프로파일).
Expand All @@ -235,7 +235,7 @@ var MemProfileRate int = 512 * 1024

## 4\. 프로필 분석

프로파일링 데이터를 수집한 후 '이동 도구 pprof'를 사용하여 저장된 프로파일 파일을 분석하고 시각화합니다.
프로파일링 데이터를 수집한 후 `go tool pprof`를 사용하여 저장된 프로파일 파일을 분석하고 시각화합니다.

### 4.1 웹 인터페이스를 사용하여 분석

Expand All @@ -255,10 +255,10 @@ go tool pprof cpu.profile

- **일반적인 `pprof` 명령:**

- `상위`: 리소스를 가장 많이 소비하는 함수를 표시합니다.
- 목록 <function_name>\`: 특정 함수에 대한 주석이 달린 소스 코드를 표시합니다.
- \`: 웹 브라우저에서 프로필의 시각화를 생성합니다.
- PDF\`를 클릭합니다: 프로필의 PDF 보고서를 생성합니다.
- `top `: 리소스를 가장 많이 소비하는 함수를 표시합니다.
- `list <0>`: 특정 함수에 대한 주석이 달린 소스 코드를 표시합니다.
- `web`: 웹 브라우저에서 프로필의 시각화를 생성합니다.
- `pdf `를 클릭합니다: 프로필의 PDF 보고서를 생성합니다.

- **사용 예:**

Expand Down

0 comments on commit 6872ed0

Please sign in to comment.