크로노스 파일서버file.pmang.kr/images/noc/img/pdf/noc_tr2_se7_lee.pdf · 2012. 8. 21. ·...

Post on 09-Jun-2021

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

크로노스 파일서버 DB화 게임온 스튜디오 이성민

크로노스 서비스 상황

첫번째 두번째

세번째

세명의 서버 프로그래머

네번째 메인 입사 3개월

이미 퇴사

3개월 후 퇴사

파일서버?

회원 수 약 200만 명

캐릭터 데이터 약 350만 개

지속적 유저 감소

회원 수 약 300만 명

캐릭터 데이터 약 500만 개

동접 약 800% ▲

월정액

휴면 복귀 유저

잦은 서버 다운

데이터 복구

부분유료

계정 / 캐릭터 아이템 / 길드

약 1,000만 개 파일

파일 백업 / 서버 교체 최소 12시간 소요

탐색기 오픈 시 OS 다운 현상

DATA관리

통계 추출 툴 개발 / 수정

툴 실행 시간 약 6 ~ 7 시간

게임머니 보유량 특정 아이템 수량 레벨 분포도

통계추출

서로 다른 캐릭터 파일 고유번호 동일한 아이템? 각 캐릭터 인벤토리 270개 모든 캐릭터 전체 인벤토리 500만 X 270 = 13억 5천

고유번호 12345 롱스워드

크로 노스

만세

비정상 DATA

#define MAX_SKILL 60 // 40 typedef struct { short str, dex, con, intel; short hp, mp; short skillId[MAX_SKILL]; char slevel[MAX_SKILL]; int money; } CharacterData;

로그인시 데이터 변환

2002 캐릭터

2005 캐릭터

컨텐츠 확장

WHY?

파일 > DB? 속도?

개발 편의성? 개발?

DB를 몰라서? 지식?

글쎄요…

저도 못 들어서…

아이유도 모른다!!

2007년 어느날 … 중국 서비스 계약기간이 끝나고, 새로운 퍼블리셔가 나타남 파일 데이터가 아닌 DB 시스템 적용을 요청 2개월 매우 짧은 기간 DB화 강한 의욕을 가진 친구 최초 DB화 시도 중국 OBT 서비스에 적용 !!! 결과는…?

게임 랙 발생 데이터 롤백 아이템 복사 서버 다운

채널당 동접 약 1,000명

채널당 동접 약 100명

파일시스템 DB시스템

나를 찾지 마세요

병원입원

잦은 야근

신체 부실

종종 밤샘

2010년 7월 대규모 업데이트

5년 후…

생명 연장 프로젝트

나 게임 서버

크로노스 개발팀

DB화

DB화 문제 사례

1차 DB화

랙 현상 • 데이터 처리 병목

특정 아이템

저장 문제

•성장 아이템

•펫 아이템

•일부 기능 포기

DATA 처리 • 싱글쓰레드 (X)

• 멀티쓰레드 (O)

캐릭터 DATA

기본 정보

아이템

스킬

친구 리스트

자유 이동부

도제 관계

한 개의 패킷 한 개의 파일로 저장

DB 저장 시 부하 발생

파일시스템

테이블 / 패킷 분리 실시간 / 자동 저장

분리

DB시스템

공유창고 : 계정 인벤토리 : 캐릭 펫 창고 : 펫

파일시스템

모든 아이템 한 개의 테이블

DB시스템

다른 캐릭 소유 아이템 획득

아이템 증발

실 서비스 적용

크로노스

한국

일본

글로벌

대만

2011 / 12 글로벌 2서버 DB화 툴 버그 에러 발생 시 break 사소한 코딩 실수

2011 / 12 글로벌 1서버 길드 멤버 꼬임 파일 데이터 중복 가입 사전 예측 못함

2012 / 02 한국 전체 아이템 복사 아레나 서버 특수 구조 글로벌 아레나 없음 사전 테스트 못함

퀘스트 저장 불가 char[] 저장 문제 개발 시 고려 못함

2012 / 03 일본 전체 길드 코드 중복 파일 / DB 저장 기준 차이 사전 파악 못함

진행 날짜 적용 서버 발생 문제 원인 시간

17시간

14시간

24시간

11시간

불가

파티 사냥 거래

서로 다른 서버 캐릭

2012년 05월 : 대만 전체 서버

2012년 05월 : 대만 전체 서버

09 시간

DB화 이후

DATA 백업

DATA 관리

시스템

정확한 통계추출

변환작업 불필요

개발

복사방지

통계기반 서비스

게임

일괄지급

일괄수정

운영

끊임 없는 도전! 진정한 프로그래머

마치며…

Q & A

THANK YOU

Special Thanks to 김종창 사장님, 이광표 상무님, 권용길 CTO님 도중은님, 이재로님, 한덕우님, DB화에 도움주신 모든 분들

top related