본문 바로가기
백엔드/Spring

[Spring] Thread Pool - pool size설정

by 작은소행성 2024. 3. 26.

Thread Pool 

Thread Pool 은 여러 개의 쓰레드를 유지하고 관리하기 위해 사용된다. 

 

Thread Pool 의 사이즈 

쓰레드를 불필요하게 많이 만들게 되면 메모리의 낭비가 심해지고 

너무 적은 수의 쓰레드를 만들게 되면 효율성이 떨어진다. 

쓰레드의 개수를 고정 시키는 것보다 서비스가 실행되는 CPU의 코어 개수에 따라 유동적으로 생성할 수 있도록 해주는 것이 좋다. 

많이 생성하는 것이 아니라 어떤 작업을 처리하느냐에 따라 기준이 바뀔 수 있다. 

 

CPU 처리가 많은 경우 

- CPU 코어가 N개인 경우 N+1만큼의 쓰레드를 생성해주면 최적에 가까운 성능을 낼 수 있다고도 한다. 

 

I/O 작업이 많은 경우 

- N*2 만큼의 쓰레드를 생성해준다. 

 

 

 

 

 

 

 

반응형