Rlog

코루틴으로 Heap 사용량 최적화(?) 한 이야기 끄적 본문

Kotlin

코루틴으로 Heap 사용량 최적화(?) 한 이야기 끄적

dev_roach 2022. 6. 2. 18:45
728x90

기존에 Spring 의 @Async 를 CustomThreadPool 을 이용해서 사용했었는데, 해당 부분이 엄청나게 빠른 요청이 초당 들어와서 Thread 가 부족해서 비즈니스 요건 상 discard 해도 크게 타격은 없기에 discardPolicy 를 사용하기도 했었다. 요즘 코루틴을 공부하면서 Coroutine 이 얼마나 효율적인지 배우고 있는데 이를 실무에 적용해봤더니 위와 같은 결과가 나왔다. 사실 근데 의문은 Coroutine 은 Continuous 를 Heap 에 담아두고 있는데 왜 Heap 사용량이 오히려 줄었지? 이런 생각이 들었다.

 

여하튼 아래를 보면 알 수 있듯이 CPU 사용량이 올랐다.

팍 튄 부분은 배포때문이고 16:00 때부터 코루틴으로 배포됬다고 생각하면 된다. CPU 사용량은 오히려 Async 일때보다 조금 올랐음을 알 수 있다. CPU 사용량이 오르면 오를 수록 CPU 를 효율적으로 잘 쓰는것이기 때문에 좋은 지표라고 판단했다. 다만 아직 배포하기 오래되지 않아 지표를 조금 더 지켜보는 것이 좋다.

 

느낀점

오늘 코루틴으로 바꾼 부분은 진짜 간단한 부분이였다. 사실 해당 부분을 코루틴을 더 공부해서 더 효율적으로 코드를 작성한다면 지금보다 더 효율적일 것이다. 팀원들과 같이 공유하면서 나중에는 공부해서 좀 더 효율적으로 코루틴으로 코드를 짜보자고 이야기했었다.

 

'Kotlin' 카테고리의 다른 글

코드스피츠 코틀린 2강 정리  (0) 2022.06.14
코드스피츠 1강 정리  (0) 2022.06.12
Kotlin Coroutines - Basic  (0) 2022.05.29
[EffectiveKotlin-Item02] 변수의 스코프를 최소화 해라  (0) 2022.05.29
Effective Kotlin - Item01  (0) 2022.05.25