일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- kotlin
- hugo 로 블로그
- 자바
- 객체지향
- IntelliJ
- standard input
- 개인블로그 hugo
- InnoDB
- resizer 구현
- 코틀린 in
- change refresh rate
- resize image with go
- 코틀린
- 코틀린 노트북
- 공짜블로그
- output stream
- image resizer with go
- standard output
- cli 만들기
- Mutation testing
- JPA
- Java
- 코틀린 out
- 의존성역전원칙
- 돌연변이 테스팅
- Test
- ruby
- MySQL
- Convariance
- Pitest
Archives
- Today
- Total
Rlog
코루틴으로 Heap 사용량 최적화(?) 한 이야기 끄적 본문
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 |