SlideShare a Scribd company logo
1 of 89
Download to read offline
<jinuk.kim@ifunfactory.com>
2018 iFunFactory Dev Day
(2013-)
• (C++, C#)
• (Python)
(2012-2013)
• (Python)
(2007-2012)
• (C++)
• (C++, C#, Python)
• (C#)
2018 iFunFactory Dev Day
Contents.
01
02
03
04
05
06
2018 iFunFactory Dev Day
01
2018 iFunFactory Dev Day
?
?
Linux eBPF + BCC
2018 iFunFactory Dev Day
:
02
2018 iFunFactory Dev Day
:
• (2017 )
• +
•
• DB /
• CPU
• (lock)
• (DB, redis, 3rd party API)
•
2018 iFunFactory Dev Day
:
2018 iFunFactory Dev Day
:
• / DB / CPU ( / / / )
• DB
• /
2018 iFunFactory Dev Day
•
.
• /
• / / (fiber) /
•
• /
•
•
2018 iFunFactory Dev Day
• / .
• .
•
•
• / /
2018 iFunFactory Dev Day
03
2018 iFunFactory Dev Day
• /
2018 iFunFactory Dev Day
: CPU
• GNU Compiler Collection (GCC)
• -pg (gprof)
• LLVM/Clang
• -fprofile-instr-generate
• Visual C++ instrumentation
• Valgrind Callgrind
2018 iFunFactory Dev Day
• /
• /
•
• /
2018 iFunFactory Dev Day
GProf :
% cumulative self self total
time seconds seconds calls ms/call ms/call name
14.29 0.03 0.03 207323 0.00 0.00 crow::json::escape
14.29 0.06 0.03 3059 0.01 0.02 crow::CrowApp::handle
9.52 0.08 0.02 2638 0.01 0.02 crow::json::dump_internal
4.76 0.09 0.01 307190 0.00 0.00 _Hashtable<…>::insert_unique
4.76 0.10 0.01 208356 0.00 0.00 _Hashtable<…>::_M_rehash
4.76 0.11 0.01 19129 0.00 0.00
vector<crow::json::wvalue>::_M_emplace_back_aux
4.76 0.12 0.01 11961 0.00 0.00
crow::Connection<crow::SocketAdaptor, crow::CrowApp>::cancel_deadline_timer
2018 iFunFactory Dev Day
GProf :
2018 iFunFactory Dev Day
• gprof: 30% - 300%
• Valgrind: 400% - 4,000%
• 3rd (.dll, .so)
•
2018 iFunFactory Dev Day
.
/
• (CPU, , , )
•
•
2018 iFunFactory Dev Day
• IO 10ms ?
• ?
• ?
2018 iFunFactory Dev Day
04
2018 iFunFactory Dev Day
CPU
• .
• Linux perf (kernel v2.6+)
• Linux eBPF (kernel v3.18+; v4.9+)
• Google Performance Tools
• Visual C++ : CPU
2018 iFunFactory Dev Day
• ( 50 - 200 )
• CPU
•
• /
2018 iFunFactory Dev Day
: CPU
Linux v4.13 eBPF + BCC profile:
Flamegraph: / 

https://github.com/brendangregg/FlameGraph
2018 iFunFactory Dev Day
2018 iFunFactory Dev Day
2018 iFunFactory Dev Day


OS
/
( ), OS
2018 iFunFactory Dev Day
OS
OS
OS !
• Linux v4.13 randstruct
• eBPF #define
2018 iFunFactory Dev Day
?
•Disk I/O ?
•CPU ?
• (lock) ?
• API ?
• ?
• ?
2018 iFunFactory Dev Day
Linux
•eBPF (kernel v3.18+; 4.9+ )
•perf (kernel v2.6+; )
Windows
•Event Tracing for Windows (ETW; Win 8+)
•Windows Event Logging ( ; Win 2k+)
2018 iFunFactory Dev Day
?
/ ?
2018 iFunFactory Dev Day


2018 iFunFactory Dev Day
/
2018 iFunFactory Dev Day
Linux eBPF + BCC
• eBPF: /
• BCC: Python / lua / go eBPF
2018 iFunFactory Dev Day
eBPF
OS 

(x86-64/arm64 )
VM
• / ( )
•
• JIT
2018 iFunFactory Dev Day
eBPF: ?
•
• (= )
• ( )
•
( )
2018 iFunFactory Dev Day
BCC
• eBFP Compiler Collection
• Python / lua / go /
• C eBPF
• eBPF
• python / lua / go
2018 iFunFactory Dev Day
eBPF + BCC:
CPU, , I/O,
eBPF + BCC
( )
:
1. ,
2. eBPF + BCC
3.
2018 iFunFactory Dev Day
BCC :
BCC funclatency
/
2018 iFunFactory Dev Day
: eBPF (1)
2018 iFunFactory Dev Day
: eBPF (2)
2018 iFunFactory Dev Day
2018 iFunFactory Dev Day
: BCC + BPF
2018 iFunFactory Dev Day
:
2018 iFunFactory Dev Day
Linux Kernel v4.13+
randstruct .
BCC “bpf_text”
#define randomized_struct_fields_start struct {
#define randomized_struct_fields_end };
2018 iFunFactory Dev Day
05 HTTP API
2018 iFunFactory Dev Day
HTTP API
I/O, DB , ( )
/OS
: flaskr
• Crow HTTP
• CrowDB + MariaDB
• RESTful API
• https://github.com/jinukkim/devday-2018-03
2018 iFunFactory Dev Day
HTTP :
URL / HTTP
HTTP ,

4 

2018 iFunFactory Dev Day
HTTP :
DB
JSON
HTTP
2018 iFunFactory Dev Day
HTTP :
MariaDB DB
HTTP DNS
2018 iFunFactory Dev Day
4 1000
250
≦ 4 ms
2018 iFunFactory Dev Day
siege: HTTP
siege -c 32

-r 16384

-b

http://example.com
URL 32 (-c32)
(-b)
16k (-r 16384)
2018 iFunFactory Dev Day
:
110 /
: 27.5 /
: 36 ms
2018 iFunFactory Dev Day
?
2018 iFunFactory Dev Day
#1: CPU
2018 iFunFactory Dev Day
: CPU ?
eBPF + BCC: profile
•
•
30 , 199 flaskr
sudo profile -p $(pgrep -nx flaskr)

-f

-F 199 30

2018 iFunFactory Dev Day
(1): Flamegraph
2018 iFunFactory Dev Day
(2):
DNS C (10%)
• __GI_nss_files_servent
(OS )
• TCP (6.3%)
• (3%)
• (2%)
( ) !
2018 iFunFactory Dev Day
CPU ?
Linux htop (= top )
• CPU 42% CPU .
2018 iFunFactory Dev Day
#2:
2018 iFunFactory Dev Day
#2 ?
HTTP API
:
• DB
• SQL
• SQL
• etc.
2018 iFunFactory Dev Day
: DB ?
eBPF + BCC: mysql_qslower:
eBPF + BCC: funclatency
•
MariaDB (mysql_ )

sudo funclatency.py -p $(pgrep -nx flaskr)

-F /usr/lib/mariadb/libmariadb.so:mysql_*
2018 iFunFactory Dev Day
: SQL
• : 0.5 ms - 2 ms
• 2 ms ≪ 36 ms ( )
2018 iFunFactory Dev Day
: SQL
• : 0.008 ms - 0.032 ms
• 0.032 ms ≪ 36 ms ( )
2018 iFunFactory Dev Day
2018 iFunFactory Dev Day
#3: DB
2018 iFunFactory Dev Day
:
?
?
• CPU
• OS CPU
:
• OS CPU
• CPU =
2018 iFunFactory Dev Day
:
eBPF + BCC: offcputime
•
•
2018 iFunFactory Dev Day
: Flamegraph
• poll() : C . 78%;
• epoll() : . 16%; boost::asio
2018 iFunFactory Dev Day
: poll() ?
2018 iFunFactory Dev Day
poll()
C++
( )
!
2018 iFunFactory Dev Day
?
•
• :
•
• /
2018 iFunFactory Dev Day
eBPF + BCC: offwaketime
:
•
•
offwaketime -p $(pgrep -nx flaskr) -f
2018 iFunFactory Dev Day
• UDP/IP poll
2018 iFunFactory Dev Day
: UDP ?
2018 iFunFactory Dev Day
UDP ?
HTTP TCP/IP
UDP :
• DHCP
• DNS
• RTP
• etc…
DNS . ( )
2018 iFunFactory Dev Day
: DNS ?
2018 iFunFactory Dev Day
DNS
DNS (C API )
• getnameinfo
• getaddrinfo
• gethostname
• etc…
eBPF + BCC: funclatency
2018 iFunFactory Dev Day
• getnameinfo
• 32ms - 134ms
• (36ms)
2018 iFunFactory Dev Day
: DNS
DNS DNS dnsmasq
: 1,567 /
• 390 / , 2.5 ms
: 14
• : 110 / vs. 1,567 /
2018 iFunFactory Dev Day
: MS Windows + ETW
GUI + /
ETW / Xperf
: The Lost Xperf Documentation on CPU Scheduling
2018 iFunFactory Dev Day
06 

/
2018 iFunFactory Dev Day
(runqlat)
• ( ?)
Disk I/O
• I/O (fileslower)
• (filetop)
• ext4slower, btrfsslower,
2018 iFunFactory Dev Day
(memleak)
• 30 ?
(deadlock_detector)
• mutex
2018 iFunFactory Dev Day
Android /
https://lwn.net/Articles/742363/
2018 iFunFactory Dev Day
Android /
eBPF
x86-64 / arm64
1. 

+ LLVM
2. Android
3. 

4. 

/ /
https://github.com/joelagnel/bpfd
2018 iFunFactory Dev Day
Android /
BPFd 

(https://github.com/joelagnel/bpfd)
eBPF + BCC (v4.6+; v4.9+)
• Android 8.0 Oreo v4.4
AOSP 8.0 v4.10;
2018 iFunFactory Dev Day

 

eBPF + BCC
Q&A
2018 iFunFactory Dev Day
2018 iFunFactory Dev Day
Thank You!
660, 1 B 606
+82-70-4923-6566 www.ifunfactory.cominfo@ifunfactory.com

More Related Content

What's hot

ASP.NET과 C#으로 개발하는 대규모 소셜 게임
ASP.NET과 C#으로 개발하는 대규모 소셜 게임ASP.NET과 C#으로 개발하는 대규모 소셜 게임
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
흥배 최
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
Brendan Gregg
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
真乙 九龍
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
devCAT Studio, NEXON
 

What's hot (20)

Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
 
nexus helm 설치, docker/helm repo 설정과 예제
nexus helm 설치, docker/helm repo 설정과 예제nexus helm 설치, docker/helm repo 설정과 예제
nexus helm 설치, docker/helm repo 설정과 예제
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
ASP.NET과 C#으로 개발하는 대규모 소셜 게임ASP.NET과 C#으로 개발하는 대규모 소셜 게임
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
 
eBPF Basics
eBPF BasicseBPF Basics
eBPF Basics
 
Sync async-blocking-nonblocking-io
Sync async-blocking-nonblocking-ioSync async-blocking-nonblocking-io
Sync async-blocking-nonblocking-io
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
 
4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 34章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3
 
Understanding kube proxy in ipvs mode
Understanding kube proxy in ipvs modeUnderstanding kube proxy in ipvs mode
Understanding kube proxy in ipvs mode
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
 
빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
 

Similar to [아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석

Similar to [아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석 (20)

[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
 
DEVNET-2006 Coding 210: Parsing JSON in C++
DEVNET-2006	Coding 210: Parsing JSON in C++DEVNET-2006	Coding 210: Parsing JSON in C++
DEVNET-2006 Coding 210: Parsing JSON in C++
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applications
 
EsiGate dev meeting #5 15-05-2014
EsiGate dev meeting #5 15-05-2014EsiGate dev meeting #5 15-05-2014
EsiGate dev meeting #5 15-05-2014
 
Sprint 78
Sprint 78Sprint 78
Sprint 78
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015
 
Gerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeGerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source code
 
Integrating Existing C++ Libraries into PySpark with Esther Kundin
Integrating Existing C++ Libraries into PySpark with Esther KundinIntegrating Existing C++ Libraries into PySpark with Esther Kundin
Integrating Existing C++ Libraries into PySpark with Esther Kundin
 
Meeting rooms are talking! are you listening?
Meeting rooms are talking! are you listening?Meeting rooms are talking! are you listening?
Meeting rooms are talking! are you listening?
 
20180417 hivemall meetup#4
20180417 hivemall meetup#420180417 hivemall meetup#4
20180417 hivemall meetup#4
 
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQueryCodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리
 
Yii2 by Peter Jack Kambey
Yii2 by Peter Jack KambeyYii2 by Peter Jack Kambey
Yii2 by Peter Jack Kambey
 
release_python_day3_slides_201606.pdf
release_python_day3_slides_201606.pdfrelease_python_day3_slides_201606.pdf
release_python_day3_slides_201606.pdf
 
eBPF Workshop
eBPF WorkshopeBPF Workshop
eBPF Workshop
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R Meetup
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R Meetup
 
Python Linters at Scale.pdf
Python Linters at Scale.pdfPython Linters at Scale.pdf
Python Linters at Scale.pdf
 

More from iFunFactory Inc.

More from iFunFactory Inc. (20)

2019 아이펀팩토리 Dev Day 세션6 아이펀엔진 운영툴 연동하기 - 장수원
2019 아이펀팩토리 Dev Day 세션6 아이펀엔진 운영툴 연동하기 - 장수원2019 아이펀팩토리 Dev Day 세션6 아이펀엔진 운영툴 연동하기 - 장수원
2019 아이펀팩토리 Dev Day 세션6 아이펀엔진 운영툴 연동하기 - 장수원
 
2019 아이펀팩토리 Dev Day 세션5 아이펀엔진으로 만든 게임 성능 분석 및 디버깅 - 남승현
2019 아이펀팩토리 Dev Day 세션5 아이펀엔진으로 만든 게임 성능 분석 및 디버깅 - 남승현2019 아이펀팩토리 Dev Day 세션5 아이펀엔진으로 만든 게임 성능 분석 및 디버깅 - 남승현
2019 아이펀팩토리 Dev Day 세션5 아이펀엔진으로 만든 게임 성능 분석 및 디버깅 - 남승현
 
2019 아이펀팩토리 Dev Day 세션4 아이펀엔진에 MO 게임 콘텐츠 채워 넣기 - 남승현
2019 아이펀팩토리 Dev Day 세션4 아이펀엔진에 MO 게임 콘텐츠 채워 넣기 - 남승현2019 아이펀팩토리 Dev Day 세션4 아이펀엔진에 MO 게임 콘텐츠 채워 넣기 - 남승현
2019 아이펀팩토리 Dev Day 세션4 아이펀엔진에 MO 게임 콘텐츠 채워 넣기 - 남승현
 
2019 아이펀팩토리 Dev Day 세션3 아이펀엔진 개발 환경 설정하기 (Windows+ VS) - 김진욱
2019 아이펀팩토리 Dev Day 세션3 아이펀엔진 개발 환경 설정하기 (Windows+ VS) - 김진욱2019 아이펀팩토리 Dev Day 세션3 아이펀엔진 개발 환경 설정하기 (Windows+ VS) - 김진욱
2019 아이펀팩토리 Dev Day 세션3 아이펀엔진 개발 환경 설정하기 (Windows+ VS) - 김진욱
 
2019 아이펀팩토리 Dev Day 세션2 아이펀엔진 개발 환경 설정하기 (Linux + VS Code) - 김진욱
2019 아이펀팩토리 Dev Day 세션2 아이펀엔진 개발 환경 설정하기 (Linux + VS Code) - 김진욱2019 아이펀팩토리 Dev Day 세션2 아이펀엔진 개발 환경 설정하기 (Linux + VS Code) - 김진욱
2019 아이펀팩토리 Dev Day 세션2 아이펀엔진 개발 환경 설정하기 (Linux + VS Code) - 김진욱
 
2019 아이펀팩토리 Dev Day 세션1 네트워크 프로그래밍 개론 - 문대경 대표
2019 아이펀팩토리 Dev Day 세션1 네트워크 프로그래밍 개론 - 문대경 대표2019 아이펀팩토리 Dev Day 세션1 네트워크 프로그래밍 개론 - 문대경 대표
2019 아이펀팩토리 Dev Day 세션1 네트워크 프로그래밍 개론 - 문대경 대표
 
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
 
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
 
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유
 
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기 [아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
 
[아이펀팩토리] 2017 NDCP
[아이펀팩토리] 2017 NDCP [아이펀팩토리] 2017 NDCP
[아이펀팩토리] 2017 NDCP
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
 
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
 
유니티 쉐이더 단기속성
유니티 쉐이더 단기속성유니티 쉐이더 단기속성
유니티 쉐이더 단기속성
 
혼자서 만드는 MMO게임 서버
혼자서 만드는 MMO게임 서버혼자서 만드는 MMO게임 서버
혼자서 만드는 MMO게임 서버
 
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
 
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
 
Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기
 
게임 운영에 필요한 로그성 데이터들에 대하여
게임 운영에 필요한 로그성 데이터들에 대하여게임 운영에 필요한 로그성 데이터들에 대하여
게임 운영에 필요한 로그성 데이터들에 대하여
 
Make "PONG" : 아키텍팅과 동기화 테크닉
Make "PONG" : 아키텍팅과 동기화 테크닉Make "PONG" : 아키텍팅과 동기화 테크닉
Make "PONG" : 아키텍팅과 동기화 테크닉
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Recently uploaded (20)

1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 

[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석