![]() |
|
||||||||
경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지 |
|
기획여하에 달린거겠죠. 서버가 한가한 게임이라면 소캣 쪼갤수 있는 만큼 쓸 수 있는거구요.
500명이란 기준은, MMORPG에 실시간 전투, 패킷 암호화, 유효성 검증 처리, 감시 프로세스들, 판정, 채팅, 그림대화, 개인정보 DB / 플레이어 정보 DB / 캐시정보 DB 인터페이스, 공지/사용자 외침과 같은 브로드캐스팅, 등등의 기획/마케팅쪽 요구에 의한 컨텐츠들을 담았을 때, 사용자들이 실시간 전투의 랙에 심각한 영향을 받지 않는 안전권의 기준입니다. CPU/Network 점유율을 평균 50% 정도로 제한했을 경우구요. 앞서 어떤분도 언급하셨지만, 서비스 퀄리티를 논할때, 시스템이 포용할 수 있는 한계를 서비스 한계로 잡는건 자살행위입니다. 리눅스가 퇴출된 이유가 IOCP라는 이야기는 글쎄요. 개발자들의 선택이 아니었을까요?
인디를 쓰든 IOCP를 쓰든, fast socket을 쓰든, POSIX표준대로 poll을 쓰든, select나 pselect같은 과거의 방식을 쓰든 단순히 패킷을 주고 받고 트래픽을 관리하는 이슈는 서버에 주어지는 요구사항의 극히 일부일 뿐입니다. Windows기반 서버가 기존의 Application 개발자들에게 많은 편의를 제공하는 부분이 더 큰 메릿이었을것 같구요. FreeBSD의 폴러나 SolarisX86(역시 공짜)의 최신poll도 IOCP와 비교할 때 크게 성능차이가 나는 것은 아니거든요? 오래전에 IOCP가 붐이 일었던적은 있지만 구현시 구조가 지저분해지는 것은 감수해야 할 문제였고, 지금은 경쟁사들도 그만큼 만회해 나갔으니까요. 10년 전에 비해 하드웨어는 많은 발전이 있었죠. 하지만 그에 비해 사용자의 서비스 퀄리티에 대한 요구는 비약적으로 증가되었습니다. 개성있는 아바타. 좋죠. MMORPG라고 하면 레이드 관련 기획도 들어갈법한데, 수백명 정도의 유저가 거대 몹과 대결한다 치면 서버는? 레이드에 임한 모든이들에게 그들 눈에 보이는 모든이들의 외모정보를 송신하고, 매시간 움직임 정보를 보내야합니다. 기획이 빵빵하면 빵빵할수록 물리적인 단위 서버가 수용할 수 있는 capacity는 줄게 마련이죠. 그렇다면, 10년전 수준의 기획에서 현재의 고사양PC수준의 서버에 1000명 2000명 혹은 그 이상 돌린다고 팔리겠어요? (후진국 수출용은 가능할 수도 있다고 봅니다만) 현실성 있는 이야길 해야겠죠.
리눅스의 퇴출(?) 아니 윈도의 약진은 개발유지보수운영인력 확보 때문이죠.
당장 델파이 프로그래머도 구하기 힘든 세상인데... 하지만 윈도에서 VS 쓰는 사람은 참 많으니까요. Nibble 님 말씀대로 전체 서버에서 소켓 핸들링의 비중은 10% 남짓밖에 안될껍니다. 중요한 건 결국 그 위에 얼마나 구조를 잘 쌓아올려 안정적으로 돌아가게 할 수 있느냐는 거죠. 셀렉트건 IOCP건 게임로직 처리가 받쳐주지 않으면 그 밥에 그 나물이더군요. 저희 경우 머신당 최대동접 "경험"은 4,500명이었습니다. 델파이+Win32+IOCP. 잘 넘기기는 했지만, 더미로 예측한 행동과 실제 유저는 참 많이 다르더군요. 올해 안에 갱신 한 번 해봐야할텐데요~~ ^^;; 지금은 월드 하나를 서버 두 대로 구성하고 한 대당 3천명 정도를 원할한 서비스의 한계로 잡습니다. 아무튼 다음 버전의 서버에서는 파이썬을 주언어로 쓰려고 합니다. 뭐 많이들 말리는 분위기지만... 델파이를 쓰는 것 보다 개발은 몰라도 유지보수운영은 낫겠죠 머~~~ 관련 글 리스트
|
Copyright © 1999-2015, borlandforum.com. All right reserved. |
소켓 변수가 2byte 형이거든요