TCP 서버 스펙

kikiki0611의 이미지

안녕하세요, 컴퓨터공학을 전공하고 있는 학생입니다.
프로젝트를 진행하다 의문점이 생겨 글 남깁니다.

이번 프로젝트로 학교 스쿨버스 위치 관제 시스템을 제작중입니다.
TCP 소켓 통신을 이용하며, 위치 정보(텍스트)를 Android 어플리케이션과 주고 받으려 합니다.
최대 소켓 쓰레드가 약 1만개 정도 들어올 것으로 예상됩니다.

이런 경우에는 서버로 사용될 PC 사양을 어떻게 잡으면 될까요?

 의 이미지

"최대 소켓 쓰레드가 약 1만개"라는 게 정확히 무슨 말씀인지 모르겠군요.
설마하니 동시에 (한 순간에) 소켓 1만 개가 열려 있고, 소켓 하나마다 스레드가 하나씩 있는 상황인가요.

뭔가 가볍게 볼 수 없을 만한 규모인 것 같은데 정확히 표현해 주셔야만 가늠할 수 있을 것 같습니다.

Necromancer의 이미지

한 프로세스에서 소켓 만개 못만듭니다.
리눅스는 디폴트가 1024고, 늘릴수 있는 한계가 8192개까지 되는걸로 아는데 그나마 그것도 소켓뿐만 아니라 파일 여는데라든가 여기저기 쓰는데 있기 때문에 다 쓰겠단 생각 하면 안됩니다. 다중프로세스에 프로세스간 IPC통신 이용하든가 하는 식으로 구현해야 하는데 설계 잘하셔야 할듯.

Written By the Black Knight of Destruction

눈팅족의 이미지

서버 pc를 한대로만 제한두나요?
여러대로 할 경우 어느정도 비용이 훨씬 싸지긴할텐데요