SlideShare a Scribd company logo
2019 iFunFactory Dev Day
‘아이펀 엔진으로 MO 게임 서버 개발하기’
‘아이펀 엔진으로 MO 게임 서버 개발하기’
2019 iFunFactory Dev Day
2
남승현 프로그래머
성능 분석 및 디버깅
2019 iFunFactory Dev Day
목차
• Minidump
• Debugger
• 메시지 로그
• 이벤트 프로파일링
• CPU 프로파일링
3
2019 iFunFactory Dev Day 4
Minidump
* 서버가 크래시할 때 자동으로 생성되며 Stacktrace 를 출력
* 크래시하는 위치를 가장 빠르게 알 수 있음
2019 iFunFactory Dev Day 5
Minidump
<시연>
서버가 크래시하는 문제 해결하기
2019 iFunFactory Dev Day 6
Debugger
* VS, VS Code, GDB
* Debugger 로 게임 서버를 실행할 수 있음
* 실행중인 게임 서버를 Debugger 에 붙일 수 있음
* 프로세스가 멈추기 때문에 타임아웃 관련 설정을 변경해야함
2019 iFunFactory Dev Day 7
Debugger
<src/MANIFEST.town.json>
2019 iFunFactory Dev Day 8
Debugger
<GDB 로 게임 서버 실행하기>
<실행중인 게임 서버를 GDB 에 붙이기>
2019 iFunFactory Dev Day 9
Debugger
<시연>
Visual Studio Code 를 사용하여
공격을 해도 HP 가 감소하지 않는 문제 해결하기
2019 iFunFactory Dev Day 10
메시지 로그
* 서버와 클라이언트 간 주고 받는 메시지(패킷)을 로그로 출력
* 눈에 보이지 않는 동작을 확인할 수 있음
Level 0 은 사용 안함

Level 1 은 메시지 타입만 출력

Level 2 는 메시지 타입과 내용도 출력
2019 iFunFactory Dev Day 11
메시지 로그
<시연>
주변 캐릭터(=클라이언트)에게만 “moved” 메시지가
전송되는지 확인하기
2019 iFunFactory Dev Day 12
이벤트 프로파일링
* 이벤트 단위의 성능 측정
* 이벤트 큐, 이벤트 핸들러 함수, ORM 접근(I/O) 등으로 세분화하여 성능을 살펴볼 수 있음
2019 iFunFactory Dev Day 13
이벤트 프로파일링
<src/MANIFEST.town.json>
2019 iFunFactory Dev Day 14
이벤트 프로파일링
<CURL 명령으로 이벤트 프로파일링 요청하기>
2019 iFunFactory Dev Day 15
이벤트 프로파일링
<시연>
이벤트 프로파일링으로 느린 이벤트 확인하기
2019 iFunFactory Dev Day 16
CPU 프로파일링
* 어떤 함수가 CPU 를 많이 사용하고 있는지 파악
* 시각화 결과값으로 분석이 쉬움
2019 iFunFactory Dev Day 17
CPU 프로파일링
<시연>
CPU 프로파일링으로 느린 이벤트 확인하기
경기도 성남시 분당구 대왕판교로 660, 유스페이스1 B동 606호
info@ifunfactory.com 070-4923-6566www.ifunfactory.com

More Related Content

PDF
2019 아이펀팩토리 Dev Day 세션4 아이펀엔진에 MO 게임 콘텐츠 채워 넣기 - 남승현
PDF
2019 아이펀팩토리 Dev Day 세션2 아이펀엔진 개발 환경 설정하기 (Linux + VS Code) - 김진욱
PDF
2019 아이펀팩토리 Dev Day 세션1 네트워크 프로그래밍 개론 - 문대경 대표
PDF
2019 아이펀팩토리 Dev Day 세션6 아이펀엔진 운영툴 연동하기 - 장수원
PDF
2019 아이펀팩토리 Dev Day 세션3 아이펀엔진 개발 환경 설정하기 (Windows+ VS) - 김진욱
PDF
워드프레스 기초 (ABCD) #1
PPTX
PDF
생활 코딩 #2(Simple Web Scraping with Python #2)
2019 아이펀팩토리 Dev Day 세션4 아이펀엔진에 MO 게임 콘텐츠 채워 넣기 - 남승현
2019 아이펀팩토리 Dev Day 세션2 아이펀엔진 개발 환경 설정하기 (Linux + VS Code) - 김진욱
2019 아이펀팩토리 Dev Day 세션1 네트워크 프로그래밍 개론 - 문대경 대표
2019 아이펀팩토리 Dev Day 세션6 아이펀엔진 운영툴 연동하기 - 장수원
2019 아이펀팩토리 Dev Day 세션3 아이펀엔진 개발 환경 설정하기 (Windows+ VS) - 김진욱
워드프레스 기초 (ABCD) #1
생활 코딩 #2(Simple Web Scraping with Python #2)

What's hot (19)

PDF
Ionic으로 모바일앱 만들기 #1
PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유
PPTX
make hybrid app.
PPTX
1.develop environment
PDF
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
PDF
Jenkins with Unity3d & Android
PDF
Ionic으로 모바일앱 만들기 #5
PDF
Codeveloper 개발기
PPTX
Unity Auto Build iOS
PDF
생활 코딩 #1(Simple Web Scraping with Python #1)
PDF
Codeveloper
PDF
NDC 2015 삼시세끼 빌드만들기
PDF
신입 웹 개발자 포트폴리오 / 댓글 게시판
PPTX
Ionic2로 Type script+Angular2.0 따라하기 1
PDF
웹 IDE 비교
PDF
swift를 이용한 카카오링크 만들기
PDF
Goorm소개
PPTX
The Future of C# and .NET Framework
PDF
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
Ionic으로 모바일앱 만들기 #1
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유
make hybrid app.
1.develop environment
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
Jenkins with Unity3d & Android
Ionic으로 모바일앱 만들기 #5
Codeveloper 개발기
Unity Auto Build iOS
생활 코딩 #1(Simple Web Scraping with Python #1)
Codeveloper
NDC 2015 삼시세끼 빌드만들기
신입 웹 개발자 포트폴리오 / 댓글 게시판
Ionic2로 Type script+Angular2.0 따라하기 1
웹 IDE 비교
swift를 이용한 카카오링크 만들기
Goorm소개
The Future of C# and .NET Framework
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
Ad

Similar to 2019 아이펀팩토리 Dev Day 세션5 아이펀엔진으로 만든 게임 성능 분석 및 디버깅 - 남승현 (20)

PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
PPTX
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
PDF
엠퀴즈 (클라우드, 서버리스 기반 실시간 웹 퀴즈 게임)_완료보고서.pdf
PPTX
Win10 iot core_pi2
PDF
Ninja
PPT
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
PPTX
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
PDF
웨일브라우저 성능 및 메모리 최적화
PDF
FCGI, C++로 Restful 서버 개발
PPTX
161004 battle ai
PPTX
Battle.ai 2016년 1학기 최종발표
PPTX
GDG DevFest Busan 16" Android Nougat Developer's Note
PPTX
Azure로 MMO게임 서비스하기
PPTX
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
PPTX
피니엔진
PDF
20250210_AI가 코딩하는시대에 개발자 되기 - Google Slides.pdf
PDF
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
PPTX
What is Game Server ?
PDF
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
PDF
20170813 django api server unit test and remote debugging
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
엠퀴즈 (클라우드, 서버리스 기반 실시간 웹 퀴즈 게임)_완료보고서.pdf
Win10 iot core_pi2
Ninja
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
웨일브라우저 성능 및 메모리 최적화
FCGI, C++로 Restful 서버 개발
161004 battle ai
Battle.ai 2016년 1학기 최종발표
GDG DevFest Busan 16" Android Nougat Developer's Note
Azure로 MMO게임 서비스하기
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
피니엔진
20250210_AI가 코딩하는시대에 개발자 되기 - Google Slides.pdf
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
What is Game Server ?
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
20170813 django api server unit test and remote debugging
Ad

More from iFunFactory Inc. (20)

PDF
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
PDF
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
PDF
[아이펀팩토리] 2017 NDCP
PDF
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
PDF
유니티 쉐이더 단기속성
PDF
게임 서버 성능 분석하기
PDF
혼자서 만드는 MMO게임 서버
PDF
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
PPTX
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
PPTX
Docker 로 Linux 없이 Linux 환경에서 개발하기
PPTX
게임 운영에 필요한 로그성 데이터들에 대하여
PPTX
Make "PONG" : 아키텍팅과 동기화 테크닉
PPTX
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
PPTX
2016 NDC - 모바일 게임 서버 엔진 개발 후기
PPT
iFun Engine plugin 만들기 (for Stingray)
PDF
iFun Deploy 소개
PPTX
Apache ZooKeeper 로
 분산 서버 만들기
PDF
클라우드 춘추전국시대 서버 개발자 생존기
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
[아이펀팩토리] 2017 NDCP
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
유니티 쉐이더 단기속성
게임 서버 성능 분석하기
혼자서 만드는 MMO게임 서버
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
Docker 로 Linux 없이 Linux 환경에서 개발하기
게임 운영에 필요한 로그성 데이터들에 대하여
Make "PONG" : 아키텍팅과 동기화 테크닉
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
2016 NDC - 모바일 게임 서버 엔진 개발 후기
iFun Engine plugin 만들기 (for Stingray)
iFun Deploy 소개
Apache ZooKeeper 로
 분산 서버 만들기
클라우드 춘추전국시대 서버 개발자 생존기

2019 아이펀팩토리 Dev Day 세션5 아이펀엔진으로 만든 게임 성능 분석 및 디버깅 - 남승현

  • 1. 2019 iFunFactory Dev Day ‘아이펀 엔진으로 MO 게임 서버 개발하기’
  • 2. ‘아이펀 엔진으로 MO 게임 서버 개발하기’ 2019 iFunFactory Dev Day 2 남승현 프로그래머 성능 분석 및 디버깅
  • 3. 2019 iFunFactory Dev Day 목차 • Minidump • Debugger • 메시지 로그 • 이벤트 프로파일링 • CPU 프로파일링 3
  • 4. 2019 iFunFactory Dev Day 4 Minidump * 서버가 크래시할 때 자동으로 생성되며 Stacktrace 를 출력 * 크래시하는 위치를 가장 빠르게 알 수 있음
  • 5. 2019 iFunFactory Dev Day 5 Minidump <시연> 서버가 크래시하는 문제 해결하기
  • 6. 2019 iFunFactory Dev Day 6 Debugger * VS, VS Code, GDB * Debugger 로 게임 서버를 실행할 수 있음 * 실행중인 게임 서버를 Debugger 에 붙일 수 있음 * 프로세스가 멈추기 때문에 타임아웃 관련 설정을 변경해야함
  • 7. 2019 iFunFactory Dev Day 7 Debugger <src/MANIFEST.town.json>
  • 8. 2019 iFunFactory Dev Day 8 Debugger <GDB 로 게임 서버 실행하기> <실행중인 게임 서버를 GDB 에 붙이기>
  • 9. 2019 iFunFactory Dev Day 9 Debugger <시연> Visual Studio Code 를 사용하여 공격을 해도 HP 가 감소하지 않는 문제 해결하기
  • 10. 2019 iFunFactory Dev Day 10 메시지 로그 * 서버와 클라이언트 간 주고 받는 메시지(패킷)을 로그로 출력 * 눈에 보이지 않는 동작을 확인할 수 있음 Level 0 은 사용 안함
 Level 1 은 메시지 타입만 출력
 Level 2 는 메시지 타입과 내용도 출력
  • 11. 2019 iFunFactory Dev Day 11 메시지 로그 <시연> 주변 캐릭터(=클라이언트)에게만 “moved” 메시지가 전송되는지 확인하기
  • 12. 2019 iFunFactory Dev Day 12 이벤트 프로파일링 * 이벤트 단위의 성능 측정 * 이벤트 큐, 이벤트 핸들러 함수, ORM 접근(I/O) 등으로 세분화하여 성능을 살펴볼 수 있음
  • 13. 2019 iFunFactory Dev Day 13 이벤트 프로파일링 <src/MANIFEST.town.json>
  • 14. 2019 iFunFactory Dev Day 14 이벤트 프로파일링 <CURL 명령으로 이벤트 프로파일링 요청하기>
  • 15. 2019 iFunFactory Dev Day 15 이벤트 프로파일링 <시연> 이벤트 프로파일링으로 느린 이벤트 확인하기
  • 16. 2019 iFunFactory Dev Day 16 CPU 프로파일링 * 어떤 함수가 CPU 를 많이 사용하고 있는지 파악 * 시각화 결과값으로 분석이 쉬움
  • 17. 2019 iFunFactory Dev Day 17 CPU 프로파일링 <시연> CPU 프로파일링으로 느린 이벤트 확인하기
  • 18. 경기도 성남시 분당구 대왕판교로 660, 유스페이스1 B동 606호 info@ifunfactory.com 070-4923-6566www.ifunfactory.com