본문 바로가기
728x90
반응형

Programming154

[MongoDB] database profiler 설정 (MongoDB slow query 측정) MongoDB에서 사용되는 CPU 가 Peak 를 치며 장애가 발생한적이 있다면 혹은 API가 생각했던것보다 오래걸리고 Tracing이 없는 상태에서 그 원인이 MongoDB로 추정된다면 database profiler를 통해 MongoDB의 slow query를 검사하여 원인을 파악해볼 수 있다. MongoDB의 Profiler 설정 방법은 매우 간단하다. 아래 명령어를 이용하여 Profiling Level을 설정해주면 된다. $ db.setProfilingLevel() 이때 Profiling Level에는 아래와 같이 3가지 단계가 있다. Level Description 0 Profiler를 사용하지 않으며 어떠한 데이터도 수집되지 않는다. Default 설정. 1 slowms에 설정된 시간보다 Qu.. 2023. 2. 3.
[Go] Publishing modules - pkg.go.dev 에 package 올리기 현재 개발된 go module을 다른 프로젝트에서 import하여 사용해야할 경우가 있다. 이때 개발된 go module을 github repo에 푸시하고 pkg.go.dev에 publish하여 이를 다른 프로젝트에서 import해서 사용하는 방법을 알아보자. 1. Go Module 생성 Go Module을 아직 만들지 않았다면 아래와 같이 생성 $ mkdir greetings $ cd greetings init module $ go mod init gihub.com/guru-corp/greetings go: creating new go.mod: module gihub.com/guru-corp/greetings $ cat go.mod module gihub.com/guru-corp/greetings go.. 2022. 6. 21.
[Kubernetes] 초간단 busybox 설치 busybox.yaml apiVersion: v1 kind: Pod metadata: name: busybox spec: containers: - name: busybox image: busybox command: - sleep - "3600" imagePullPolicy: IfNotPresent restartPolicy: Always 예제 - nc 사용 $ kubectl exec -it busybox sh -- nc localhost 6379 예제 - nslookup 사용 $ kubectl exec -it busybox sh -- nslookup kubernetes Server:10.96.0.10 Address:10.96.0.10:53 2022. 5. 23.
[Go] defer / panic 함수 1. defer defer 함수는 지연실행 함수로 특정 함수를 나중에 실행하게 하도록 하는 함수이며 이 호출 시점은 defer를 호출하는 함수가 리턴하기 직전에 호출이 됩니다. 예제 package main import "fmt" func main() { fmt.Println("function start") defer func() { fmt.Println("First print of defer") }() defer func() { fmt.Println("Second print of defer") }() fmt.Println("function end") } 확인 $ go run main.go function start function end Second print of defer First print of .. 2022. 5. 23.
728x90
반응형