[Go] Context에 관한 고찰 - 2 : Context의 중요성과 메모리 누수
·
Language/Go
~Go Context 시리즈~[1] Context에 관한 고찰 - 1 : Context 란[2] Context에 관한 고찰 - 2 : Context의 중요성과 고루틴 누수[3] Context에 관한 고찰 - 3 : Graceful Shutdown의 미학Context가 중요한 이유Context의 중요성을 간과하고 context.Background()를 남발하는 코드는 당장에는 문제없이 동작하는 것처럼 보일 수 있다. 이는 마치 브레이크 없는 자동차로 텅 빈 직선 도로를 달리는 것과 같은데, 장애물이 나타나거나(에러 발생), 교차로에서 멈춰야 하거나(요청 취소), 주차해야 할 때(서버 종료) 비로소 재앙이 시작된다...후후... (그나저나 AI 비유법 기깔난다..ㅋㅋㅋㅋ 다시 돌리려다가 웃겨서 그냥 가져옴)..
[Go] 메모리 누수(Memory Leak) 예방하기
·
Error Handling
회사 프로젝트 서버에서 메모리 누수로 인해 서버가 계속 죽다 살아나는 현상이 관찰되었다. 70%을 향해 치솟는 memory usage와 10% 이하에서 평온하게 노는 cpu usage 메모리 누수가 어디서 발생하는지 정확하지 않아서 인터넷 검색을 통해 go 프로젝트에서 주의해야할 부분에 예방 코드를 모조리 집어넣었다. 아래 그 예방 코드들과 이유에 관해 정리해보려고 한다. -> 그리고 현재는 프로젝트에서 발생하는 메모리릭 문제를 완전히 해결했다! (마무리 부분을 참고) 아래 글을 참고하여 작성되었다. Avoiding Memory Leak in Golang APIFinding Memory Leak in Go Service50 Shades of Go0) Lock 확인하기여러 프로젝트에서 발생하는 메모리 누수..