Thread Pool
Thread Pool 은 여러 개의 쓰레드를 유지하고 관리하기 위해 사용된다.
Thread Pool 의 사이즈
쓰레드를 불필요하게 많이 만들게 되면 메모리의 낭비가 심해지고
너무 적은 수의 쓰레드를 만들게 되면 효율성이 떨어진다.
쓰레드의 개수를 고정 시키는 것보다 서비스가 실행되는 CPU의 코어 개수에 따라 유동적으로 생성할 수 있도록 해주는 것이 좋다.
많이 생성하는 것이 아니라 어떤 작업을 처리하느냐에 따라 기준이 바뀔 수 있다.
CPU 처리가 많은 경우
- CPU 코어가 N개인 경우 N+1만큼의 쓰레드를 생성해주면 최적에 가까운 성능을 낼 수 있다고도 한다.
I/O 작업이 많은 경우
- N*2 만큼의 쓰레드를 생성해준다.
반응형
'백엔드 > Spring' 카테고리의 다른 글
[Spring] 빈 후처리기 (0) | 2024.05.08 |
---|---|
[Gradle] Gradlew 빌드 시 gradle 다운로드 속도가 느릴 때 (0) | 2024.04.03 |
[Querydsl] Resolved [com.querydsl.core.types.ExpressionException ~ ] (0) | 2024.03.22 |
[Spring] Spring 3버전에 Springdoc 라이브러리를 사용해 swagger 적용하기 (0) | 2024.01.12 |
[Spring] 멀티 모듈 사용하기 - 루트 프로젝트에 자식 의존성 추가하기 (0) | 2024.01.05 |