총 게시물 44건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[서버]

배현직 대표님 서버구조 답변(2)

글쓴이 : 앱개발재밌어 날짜 : 2013-10-29 (화) 15:43 조회 : 6765
글주소 : http://www.androidside.com/B25/19
 
  고로케맛집 심봉사도로케
96호점 돌파, 10평대 부부 운영45%순익, 월 순익 현금1천, 맛 보면 창업
심봉사도로케.kr
  창업홈페이지 후이즈
업계최초 365디자인센터,디자이너 직접 제작 창업홈페이지19년 노하우,백만 고객
dream.whois.co.kr
  6분만에 만드는쇼핑몰 식스샵
코딩없이 손쉽게 내 마음대로 만드는 반응형 쇼핑몰, 홈페이지! 무료 템플릿!
www.sixshop.com
신청하기


안녕하세요...^^;

계속 귀찮게 해드리는것 같아 정말 죄송합니다.

하지만 모르는게 많아 궁굼증이 자꾸 생기네요...

그리고 소중한 답변은 많은 분들이 공유할 수 있도록 사이트에 올리겠습니다.

 

말씀하신 서버구조는 잘 이해가 됩니다.

그런데 한가지 궁굼한것이...

 

클라는 이벤트 발생시에만 띄엄 띄엄 패킷을 서버로 보내게 되고,

서버에서는 연산처리후 1/30초 주기로 계속 보내준다는 이야기 인데요...

쓰레드 풀을 사용하여 어떻게 그런 구조가 되지요?

 

혹시 쓰레드풀 등록해두었다가 주기적으로 쓰레드풀을 수행을 시켜주는

쓰레드를 만들어두고 관리하는것인가요?

 

귀찮으시겠지만소중한 답변 꼭 부탁드리겠습니다.

감사드립니다.

 

ps. 혹시 방장클라에서 연산처리한 후 써버로보내 상대클라로 보내는 방법과

서버에서 연산처리하여 양방향으로 보내주는 방법의 퍼포먼스 차이가 큰가요?

 

두가지 방법에 대하여 대략적으로 동접 1000명을 목표로 한다면,

서버대여비는 대략 어느정도 할까요

 

질문이 너무 많았습니다.

즐거운 주말되시고행복한 주말되세요~~~^^  


답변 : 

일반적으로 스레드풀에서의 뭔가를 처리한다라고 하면스레드 중 노는 스레드가 있으면 그 스레드에게 일을 맡김을 의미합니다.

만약 모든 스레드가 일을 하는 중이면 큐에 쌓아놨다가 할일이 끝난 스레드가 큐에서 뽑아가는거고요.

1.png


방의 개수가 서버 프로세스 하나에 3000개가 있다고 가정해볼께요.

그리고 각 방을 처리하는 주기가 1/30초라고 가정하고요.

 

그러면 한 스레드는 약 750*30=22500회의 주기를 처리해야 함을 의미합니다. (코어가 4개인 저사양 서버에서)

한 스레드가 22500개의 타이머 루틴 처리는 요새 저사양 서버 컴퓨터 입장에서도 완전 껌입니다심시티류 게임이라면 모를까요.

따라서 어렵게 생각 안하셔도 됩니다그냥 단순한 것이 가장 빠릅니다.

 

서버에서 이렇게 처리한다고 가정하면 방장 클라가 하는 일은 없습니다방돌이와 똑같습니다그냥 서버한테 명령 보내놓고 서버가 월드 상태를 1/30초마다 보내주면 그냥 그거 받아서 화면에 보여주면 됩니다만약 방장이 연산 처리를 하는게 있다면 피투피 구조의 게임이라는 의미고그렇다면 위의 서버에서 1/30초마다 하는 일 자체를 완전히 없애버리는 것이 낫습니다방장 클라와 서버의 1/30마다의 처리는 양립해봤자 아무런 이익도 없습니다.

 

동접 1000명 정도라면 피투피 쓸거없이 그냥 위 방식대로 만드셔도 완전 널럴하게 잘 작동할겁니다철권이나 버파의 경우 충돌 판단은 모션값과 거리,방향만(즉 케이크 파이 충돌 검증체크하는 방식이 아니라마비노기영웅전처럼 메시 단위로 sweep test를 하는 경우라면 얘기가 달라질 가능성이 조~~금은 있을 것 같습니다예전에 땡크게임 만들 때 그건 포탄 피격을 메시단위로 충돌 검사를 했는데요포인트대 메시였기 때문에 그나마 연산량이 적어서 그런지 모르겠지만놀랍게도패킷 하나 보내거나 받는 처리량보다 서버에서 메시단위 충돌체크가 훨씬 적은 연산량을 보여줬습니다즉슨네트웍 패킷 처리는 운영체제와 디바이스 처리가 같이 맞물리는 로직이니만큼 웬만한 게임 시뮬레이션 단위처리보다 훨씬 부하를 먹었기 때문에 벌어진 일이라 생각합니다상황이 역전되려면 TOE가 고차원적으로 처리되는 NIC이 등장해주면 될라나요그나마도 불량 디바이스가 재수없게 걸릴 확률이 무서워서 TOE를 끄는 것이 게임서버의 대세 설정이긴 합니다만… -_-;;

 

서버가 널럴함에도 불구하고 피투피를 격투 게임에 쓰는 이유는같은 와이파이에 있는 유저들끼리 최적의 쾌적함을 위해서입니다예민한 플레이어들은 의도적으로 랜파티를 하기도 하는데요이때는 1밀리초 랙도 분명하게 눈에 띄더라구요. (실제로 저희 고객사도 이걸로 괴롭혔음 -_-;) 피투피는 이럴 때 쓰는거죠특히 요새처럼 글로벌 서버를 많이 쓰는 경우서버를 각 국가에 오밀조밀 두지 못하다보니특히 중국이나 남미처럼 기간망이 그지 같은 곳에서는 서버와 클라 사이의 통신망 부하도 부담스러운 상황이라랜파티 많이 하는 게임은 피투피 써서 유저들의 짜증율을 낮춰주기도 합니다.

 

늦은 답변 죄송합니다밀린 메일이 많았어요.

 

배현직 드림

 

PS. 요것도 카페에 공개해주심 공공에 더 이익되지 않을까 싶습니다^^





JenisLee 2013-10-29 (화) 15:46
대표님이 멋지네요
댓글주소
glaxy 2013-12-06 (금) 08:51
매력 있군요.
댓글주소
hi
이전글  다음글  목록 글쓰기

총 게시물 44건, 최근 0 건 안내 RSS
번호 분류 제목 글쓴이 날짜 조회
44 서버
현재 대학생인데 과제중입니다 핸드폰을 이용하여 마우스를 대체하는 어플리케이션 및 프로그램을 만드려고하…
박민용 10-05 281
43 OS
이카루스031 05-09 2118
42 OS
이카루스031 05-09 2287
41 OS
Linux 시스템 로그인에 관련된 정보 로그 파일혹 Linux 관리가 필요한 분들 참고하세요.....시스템에 접근한 사람들 …
예민한인어 03-14 2643
40 OS
Postfix를 이용한 메일서버 개설 http://www.atblog.co.kr/?p=4877
카이로 12-18 2911
39 서버
sudo apt-get install ntpdate sudo apt-get install rdate sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime sudo rdate -s time.bora.net
카이로 08-01 4320
38 VPS
VPS 간단 비교 설명  디지털오션 DigitalOcean  1. 저렴한 가격(최소 5$부터 시작) 2. 매우 쉬운 UI 3. 인기있…
카이로 07-10 4586
37 서버
SCP를 사용하여 자동으로 데이터백업   v     상황: 특정 디렉터리나 특정 데이터를 원…
카이로 07-10 4306
36 서버
리눅스 서버 간에 파일 복사에 사용되는 명령어는 scp가 대표적이겠죠? scp에 대해서 간략하게 설명하고자 합니…
카이로 07-10 5827
35 서버
Introduction Nginx Nginx is a fast and lightweight alternative to the sometimes overbearing Apache 2. However, Nginx just like any kind of server or…
카이로 07-08 4286
34 디지털오션
출처. http://www.clien.net/cs2/bbs/board.php?bo_table=lecture&wr_id=226630 들어가기에 앞서...-블로그에 쓴 글을 그대로 …
카이로 07-07 4544
33 서버
최상위 index.php에 아래 코드 입력 ini_set('session.cookie_domain', '.domain.com' );
카이로 07-06 3467
32 VPS
DigitalOcean vs Linode  디지털오션과 리노드 상세 비교 This is a very detailed DigitalOcean vs Linode VPS cloud hosting comparison r…
카이로 07-06 4433
31 디지털오션
How To Choose an Effective Backup Strategy for your VPS Introduction An important consideration when storing your work and data in a digital environ…
카이로 07-06 3484
30 VPC
2013 VPS Benchmarks - Linode, Digital Ocean, Hot Drupal Every year or two, I like to get a good overview of different hosting providers' VPS performa…
카이로 07-06 5202
29 VPC
Linode vs DigitalOcean, performance benchmarks I’ve been a Linode fan and customer for years, but just this week I was made aware of a competing …
카이로 07-06 3001
28 VPC
Live Benchmarks from the Cloud Cloudlook provides constantly updated benchmarksfor server instances at popular public cloud providers. …
카이로 07-06 3498
27 VPC
사양이나 필요한 부분만 보세요^^ Linode 2GB VPS versus DigitalOcean 2GB VPS – Centmin Mod Nginx CLI install benchmarks Linode has…
카이로 07-06 3274
26 서버
for file in *.log; do     iconv -f ISO-8859-1 -t UTF-8 -o "$file".utf "$file" && mv "$file".utf "$file" done
카이로 07-05 3044
25 서버
우분투에서 한국시간으로 변경하기 ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
카이로 07-04 3085
 1  2  3  맨끝
 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기