백엔드/Spring
[Spring] Thread Pool - pool size설정
작은소행성
2024. 3. 26. 08:49
Thread Pool
Thread Pool 은 여러 개의 쓰레드를 유지하고 관리하기 위해 사용된다.
Thread Pool 의 사이즈
쓰레드를 불필요하게 많이 만들게 되면 메모리의 낭비가 심해지고
너무 적은 수의 쓰레드를 만들게 되면 효율성이 떨어진다.
쓰레드의 개수를 고정 시키는 것보다 서비스가 실행되는 CPU의 코어 개수에 따라 유동적으로 생성할 수 있도록 해주는 것이 좋다.
많이 생성하는 것이 아니라 어떤 작업을 처리하느냐에 따라 기준이 바뀔 수 있다.
CPU 처리가 많은 경우
- CPU 코어가 N개인 경우 N+1만큼의 쓰레드를 생성해주면 최적에 가까운 성능을 낼 수 있다고도 한다.
I/O 작업이 많은 경우
- N*2 만큼의 쓰레드를 생성해준다.
반응형