CPU Core 에 따라서 데몬을 어떻게 띄우는게 좋나요?

trymp의 이미지


서버기능을 하는데몬을 짰습니다. 이 데몬은 패킷을 client 로 부터 받아서

패킷을 조작한 다음 다시 client 에게 전송해주는 역활을 합니다.

근데 이러한 서버데몬을 여러개 띄워서 가용성을 높이고자 합니다 (port 별 분리)

문제는 몇개정도 띄우는게 좋을 것인가가 문제인데,

CPU 논리 core 가 8개이면 데몬도 8개 띄우는게 좋나요?

아니면 더 많이 띄우는게 성능에 좋은지 궁금합니다.

또한 특정 CPU core 를 특정데몬에게로 mapping 할 수 가 있나요?

고수님들의 많은 조언 부탁드립니다.

pastime의 이미지

daemon을 몇 개 띄우는 것이 좋을지는 내부 구현 방식 및 접속 빈도 등등의
여러 상황을 종합적으로 고려해서 판단해야 할 것 같습니다.

특정 태스크를 특정 CPU에게 binding하는 방법은
shell에서 taskset 명령을 이용하거나
코드에서 직접 sched_setaffinity()를 호출하는 방식으로 가능할 것입니다.