エンジニアカフェ× ドリコム技術勉強会~月間50億PVのソーシャルゲームを支える技術~のつぶやき

━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【エンジニアカフェEvent】   エンジニアカフェ× ドリコム技術勉強会 ~月間50億PVのソーシャルゲームを支える技術~ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 続きを読む
0
Kato Kiwamu @kiwamuk

はじまりました。最初は「ソーシャルゲーム スケールアウトの歴史」 by @gussan #pTech

2012-02-16 19:07:38
Kato Kiwamu @kiwamuk

"体力ゲージカラム" にすごい勢いで更新がかかるw → Memcached、TC に負荷を逃がす...。リリース前に十分大きいデータでの負荷テスト重要。JMeter とか。 #pTech

2012-02-16 19:15:25
Kato Kiwamu @kiwamuk

「参照をスレーブに逃がしたら、マスタの負荷はさがったけど、スレーブの負荷があがりすぎた。クエリチューニング...。」 #pTech

2012-02-16 19:18:04
エンカフェ @engcafe_tv

だましだまし使って来たMySQLがピンチ!? #ptevent #ptech

2012-02-16 19:18:19
Kato Kiwamu @kiwamuk

地道な進化の歴史は面白い。構成だけじゃなくサーバのスペックの変遷も知りたいな..。 #pTech

2012-02-16 19:20:02
Kato Kiwamu @kiwamuk

テーブルごとに接続先 DB を変える垂直分散..。5分割まで突入。負荷の分散はできたけど、運用コストは大。アプリのメンテも大変。関連とるの大変だもんね。 #pTech

2012-02-16 19:22:03
エンカフェ @engcafe_tv

垂直分散を行う _φ(・・ 分散はある程度できたが、メンテナンスが大変で限界が、、 #ptech #ptevent

2012-02-16 19:22:19
Kato Kiwamu @kiwamuk

Rails で非同期処理を実現する Resque でヘビーな処理をうしろに回す。ほー。github 中で利用されてるらしい。キューには Redis を採用。Redis の安定運用は意外と難しいらしい。 #pTech

2012-02-16 19:25:01
エンカフェ @engcafe_tv

Resque クセやハマりどこをしてっていればいける? #ptevent #ptech

2012-02-16 19:25:07
Kato Kiwamu @kiwamuk

rails3 + nginx + unicorn でモダンな構成に刷新。 #pTech

2012-02-16 19:26:07
Kato Kiwamu @kiwamuk

カードバトルゲームの洗礼...。農園型は 150~250 PV/Day、カードバトルは 350~750 PV/Day。平均30ポチ/1h。一気に3倍。 #pTech

2012-02-16 19:28:02
Kato Kiwamu @kiwamuk

MySQL で full checkpointing が発生。更新処理が数時間に一回、数分ほど完全に更新がとまってしまう。→ Percona Server を利用しよう。InnoDB にパッチがあたって flush 処理の高速化。SSD に最適化されてる? #pTech

2012-02-16 19:30:04
@PTECH_ono

ドリコム技術勉強会はじまりました☆#ptech #ptevent

2012-02-16 19:30:07
Kato Kiwamu @kiwamuk

Percona Server 5.5 + ioDrive を採用した結果、200000 iops >> 600 iops (RAID10)。MySQL5.5 + RAID10 に比べて 5倍の性能となり、full checkpointing 問題も解消。 #pTech

2012-02-16 19:32:14
Kato Kiwamu @kiwamuk

Cache サーバの HA 化。kyototycoon の memcached protocol を採用。dual master 構成で、monit + keepAlive。Redis の HA 化も似た感じ。 #pTech

2012-02-16 19:34:35
Kato Kiwamu @kiwamuk

MySQL は Semi-Sync Replication で HA 化。やはり monit+keepAlived を利用。スペアサーバを用意し、マスタに昇格したサーバのスレーブとなるように構成。 #pTech

2012-02-16 19:35:50
エンカフェ @engcafe_tv

水平分散をやってみるφ(・・*)  #ptech #ptEvent

2012-02-16 19:36:30
Kato Kiwamu @kiwamuk

ふたつ目は、「ドリコム的 Rails アプリ開発流儀」by @onk さん #pTech

2012-02-16 19:39:26
Kato Kiwamu @kiwamuk

ソーシャルゲームは飽きさせないのがキモ。定期的なイベント、キャンペーンが有効。期間限定アイテム、ダンジョン、ボス、、。近場のゴールをもうけてコミュニケーションを盛り上げる。ほぼ毎日リリース。100日間で150回デプロイとか。 #pTech

2012-02-16 19:42:15
@PTECH_ono

イベント,キャンペーンが有効。特に期間限定!イベントでゲームのゴールを作り、ユーザー間のコミュニケーションんはかる。#ptech #ptevent

2012-02-16 19:44:27
Kato Kiwamu @kiwamuk

企画から設計、開発、テストまで約2週間で1イベントを用意。画面数は20弱。開発するのは、Railsエンジニア2~4名で対応。早いなぁ。 #pTech

2012-02-16 19:44:49
@PTECH_ono

ドリコムさんの場合は、月に2回イベント実施☆#ptech #ptevent

2012-02-16 19:45:39
エンカフェ @engcafe_tv

早い!φ(・・*) “@kiwamuk: 企画から設計、開発、テストまで約2週間で1イベントを用意。画面数は20弱。開発するのは、Railsエンジニア2~4名で対応。早いなぁ。 #pTech

2012-02-16 19:52:59
エンカフェ @engcafe_tv

まず社員にリリースして遊んでもらう #ptEvent #ptech

2012-02-16 19:55:49