Weitere ähnliche Inhalte Mehr von Yoshifumi Kawai (13) BigQueryを中心としたヴァルハラゲートのログ分析システム2. Self Introduction
河合 宜文 / Kawai Yoshifumi
株式会社グラニ 取締役CTO
「最先端のC#技術を使った」ゲーム開発
http://grani.jp/
Microsoft MVP for Visual Studio and Development Technologies(C#)
http://neue.cc/
Twitter : @neuecc
6. Technology of Valhalla-Gate
Windows on Cloud + C#
C# 6.0 + .NET Framework 4.6 + ASP.NET MVC 5 によるウェブゲーム
クラウド上のWindows Server 2012 R2 上にて稼働
データストアは Aurora(MySQL) + Redis
100 - Application Server
10,000 - Request/Sec
100,000,000 - Page View/Day
30,000 - Database Query/Sec
300,000 - Redis Command/Sec
60 - ms Average Response Time
7. Technology of Valhalla-Gate
Windows on Cloud + C#
C# 6.0 + .NET Framework 4.6 + ASP.NET MVC 5 によるウェブゲーム
クラウド上のWindows Server 2012 R2 上にて稼働
データストアは Aurora(MySQL) + Redis
100 - Application Server
10,000 - Request/Sec
100,000,000 - Page View/Day
30,000 - Database Query/Sec
300,000 - Redis Command/Sec
60 - ms Average Response Time
ゲームの性質
クエリ/コマンド数がやたら多い(ワンクリックが更新)
キャッシュを効かせにくい(すぐ更新されるので)
という中で、レスポンス時間を極力短くする(サクサク感)
12. What do we needs?
求めているもの
解析速度、膨大なログからも素早く解析
ほぼリアルタイムであること、障害調査時に必須
調査系システムと分析計システムを単一でまかないたい
メンテナンスフリー、100%マネージドなサービス
Windowsフレンドリー
これらを唯一満たしたのがBigQuery
16. Event Tracing for Windows(ETW)
Windowsネイティブのイベント処理機構
マシン内でのログのストリーム伝送に使える
秒間数百万件を余裕で処理する
堅牢!高速!
Provider
アプリケーションがログをETWに転送
Consumer
ログをETWから受けBigQueryに転送
17. Semantic Logging Application Block
ログ収集・転送
SLABというMicrosoftの出しているソフトウェア(inputがETW限定で
outputがプラグインで書けるログコレクタ)用に自社製BigQueryプラグイ
ン(C#製)を作り、バッファリングしてBigQueryに転送
ASP.NET
EventSource(C#)
Event Tracing for
Windows(ETW)
SLAB
BigQuery
Plugin(C#)
BigQuery
ETWへの軽量な転送 ETWからの軽量な受信 塊にしてHTTPで転送
18. Semantic Logging Application Block
ログ収集・転送
SLABというMicrosoftの出しているソフトウェア(inputがETW限定で
outputがプラグインで書けるログコレクタ)用に自社製BigQueryプラグイ
ン(C#製)を作り、バッファリングしてBigQueryに転送
ASP.NET
EventSource(C#)
Event Tracing for
Windows(ETW)
SLAB
BigQuery
Plugin(C#)
BigQuery
ETWへの軽量な転送 ETWからの軽量な受信 塊にしてHTTPで転送
但し現在は自社製ロギングフレームワーク
「EtwStream」に移行作業開始中
https://github.com/neuecc/EtwStream
27. How to Adhoc Query
Web Console UI
かなり使いやすいウェブコンソールはBigQueryの優れた点
なんのかんので便利なので使う
LINQPad + LINQ to BigQuery
内製GUIデスクトップクライアント(OSSとして公開中)
Excel(Pivot Table + Pivot Chart)
ピボットテーブルは相当強力で、Excelはちゃんと評価されるべきツール
28. LINQPad / LINQ to BigQuery
LINQPad
https://www.linqpad.net/
軽量C# Script Editor(IDE)
REPLのように使える
LINQ to BigQuery
https://github.com/neuecc/LINQ-to-BigQuery/
BigQueryに対するC#のO/Rマッパー
LINQPadに対するプラグインも完備
29. LINQPad / LINQ to BigQuery
LINQPad
https://www.linqpad.net/
軽量C# Script Editor(IDE)
REPLのように使える
LINQ to BigQuery
https://github.com/neuecc/LINQ-to-BigQuery/
BigQueryに対するC#のO/Rマッパー
LINQPadに対するプラグインも完備
静的型生成
スキーマエクスプローラー
グラフ化Dump
入力補完(IntelliSense)
コンパイルチェック