상황

백엔드에서 매일 정오에 특정 조건에 맞는 사용자들에게 FCM을 이용해서 알림을 보내는 기능을 구현하였으나 동기적으로 처리하니 오래걸림.


그래서 스레드 여러 개로 비동기 처리를 하려고 하는데 common pool을 사용하기에는 매일 데이터가 달라져 스레드 풀을 따로 생성해서 처리 할 예정.


문제

그럼 이 때 적정 스레드 개수는 몇개여야 할까? 현재 db에 사용자는 60만명 정도 되고 약 몇만명에게 알림을 보낼 예정임. 


구글링 해보니 뭐 대략적인 식이 있던데 내 경우에도 적용이 되나해서 궁금함. 그냥 코어 * 2 정도만 해도 되려나?