参加記録 第四回 ゲームサーバ勉強会
第四回 ゲームサーバ勉強会に参加しました。
サーバにはあんまり詳しくないですが、そういう人向けの勉強会なので助かりました。
特に名前は聞いたことがあるけど使ったことないorちょっと触ったぐらいの物の理解がある程度深まりました。
IDC Frontierさんの話
-
IDCクラウドの話
- http://www.idcf.jp/cloud/
- 最小プランが500円からとのこと…安い
-
ゲームでも採用事例あり。
ゲームサーバの作り方
- http://www.slideshare.net/honyax/ss-47136625
- 簡単なチャットサーバの作り方
- ゲームサーバも基本的なメッセージやりとり部分はチャットサーバみたいな物。
fluentdとembulkの話
- http://www.slideshare.net/repeatedly/fluentd-and-embulk-game-server-4
- 外部からはjsonで入力するが、内部はMessagePackらしい
- tg-agentはfluentdにRubyインタプリタやプラグインをまとめてセットアップしやすくしたもの
- とりあえずfluentdに送って、そこから適切な場所に割り振る使い方みたい
- 組み込み環境向け
- Windows環境で動くやつ
- https://github.com/fluent/fluentd-forwarder
- 名前の通り、ログをfluentdに転送するものっぽい?
- これ本体で分類とかはせず、転送先のfluentdで転送する用途?
- embulk
- https://github.com/embulk/embulk
- ファイルから一気にデータを入れる用
- 失敗時に必要なファイルだけ再処理できる
- データから形式を推測する機能もある
- fluentd-ui
- https://github.com/fluent/fluentd-ui
- fluentdのWebUI
- データ処理のための正規表現をテストできる機能がある
- データ欠損
- ストリーム処理はデータ欠損が出てしまうもの
- 欠損が許されないものに使うのは危険
- 課金ログとか
- 欠損率0%の人もいるらしい
- 構成による?
- 通信失敗とかはfluentdが検知するのでそれで欠損はしない
負荷がたかいいんだから~♪(仮)
- ゲームの負荷対策と負荷試験の話
- memcached
- 全部メモリに乗ってるKVS
- レプリケーション遅延
- (たぶん)masterへの変更がslaveに変更される前に読み込んでデータがおかしくなった
- 水平分割して対処
- 特定のIDは特定のDBに書き込むようにする
- 1台あたりのリクエスト数を減らす?
- NoSQL
- Cassandra
- リング型ノードになるため単一障害点がなくなるらしい
- DHT?
- トランザクション処理は基本弱い
- そういうところはMySQLで
- Cassandra
- 負荷試験
- リリース前に想定人数をちゃんと裁けるかのテスト
- リリースしてから落ちにくい
- チューニングしやすい
- テーブル構造の変更とかしやすい
- リリース前に想定人数をちゃんと裁けるかのテスト
- JMeter
- http://jmeter.apache.org/
- サーバに負荷をかけるツール
- アクセスをプロクシして、テストケースを作る機能があるらしい
- プログラムで負荷をかけると、プログラムが悪いのかサーバが悪いのかわからない
- プログラムがロックして遅かったりとか
- Socket.IOは対応していない
- https://github.com/maciejzaleski/JMeter-WebSocketSampler
- これを使うと動かせる
- プロトコルが若干違うのでその辺が大変らしい