[Thread] 3. 일반 스레드 vs 스레드풀 (I/O, CPU 성능 비교)
* 관련 기술 스택이 없습니다
• 일반 스레드와 스레드풀을 비교한 결과, 스레드풀을 적절히 설정하면 성능이 크게 향상되며, 특히 I/O 작업에서 더 민감하게 반응한다는 것을 확인했다. 예를 들어, 스레드풀 크기를 100에서 300으로 늘리자 실행 시간이 1200ms에서 418ms로 줄어드는 개선이 있었다.
• 그러나 스레드풀 크기를 지나치게 늘리면 오히려 성능이 저하될 수 있다. 스레드풀 크기가 1000일 때는 193ms로 좋은 성능을 보였지만, 2000일 때는 284ms, 3000일 때는 351ms로 성능이 떨어졌다. 이는 컨텍스트 스위칭과 리소스 관리 오버헤드 때문으로 보인다.
• 스레드 풀 크기를 1000개로 설정했을 때 가장 좋은 성능(193ms)을 기록했으며, 스레드 풀 크기가 너무 크면 오히려 성능이 저하되고 시스템 리소스가 낭비될 수 있다.
• CPU 작업에서는 스레드 풀 크기를 늘려도 성능 향상이 거의 없으며, 오히려 성능이 떨어지는 경향이 있어, 최적의 스레드 풀 크기는 일반 스레드의 최대 동시 활성 스레드 수인 35개로 추정된다.
북마크
공유하기
신고하기