100万PV/日のmixiアプリモバイルをGoogle App Engineで実装した@gclue_akira氏に直撃インタビュー

100万PV/日のmixiアプリモバイルをGoogle App Engineで実装した@gclue_akira氏に直撃インタビューしてみました。
36
Akira Sasaki @gclue_akira

本日のMIXIモバイルの解析結果。 PV 365,170PV/8時間 Googleへの支払い $5.11。 100円よりももっていってました。バッティングセンターのCPU時間が妙に高くなっているので、明日最適化すればもう少し安くなると思います。

2009-10-28 01:28:00
Akira Sasaki @gclue_akira

今日1日のMIXIモバイルアプリ 3本の新規登録者数は約8万人でした。

2009-10-28 01:33:33
Akira Sasaki @gclue_akira

GoogleAppEngineのすごいところは、リアルタイムにリソース消費がメーターででてくるのと、アクセスログが全部保存されている点などにある。

2009-10-28 02:10:35
Akira Sasaki @gclue_akira

昨日のMIXIモバイルアプリのGoogle App Engineの運用状況。 97万PVで、Googleへの支払いは$16程度。1つのアプリにプログラム的にリソースを消費しているので、今日は改善して運用中。

2009-10-29 08:10:55
Akira Sasaki @gclue_akira

mixiモバイルをGAEで運営したおかげで、余った時間で次の開発ができる。これがもしかしてクラウドから受ける最大の恩恵かも。もう、ルーチンワークしなくていいのは幸せ(^^

2009-10-29 16:57:37
Akira Sasaki @gclue_akira

Google App Engineの可能性を感じたのはSocialWokを使い始めてから。  http://www.socialwok.com/

2009-10-29 17:01:01
Akira Sasaki @gclue_akira

MIXIモバイルアクセス集中 http://bit.ly/46Hx4r もうGAEしかない。今日は、103万PVでGAEでmixi アプリ安定運用中。

2009-10-29 19:54:42
Kazunori Sato @kazunori_279

@gclue_akira すごいですね~!!ひとつ伺いたいのですが、Googleに頼んで同時30リクエスト制限を外してもらったりしましたか?

2009-10-29 19:58:03
Akira Sasaki @gclue_akira

@kazunori_279 何もしてもらってないですよ。とりあえず、Billing(従量課金)の設定だけしました。あとは、ほんと何もしてないし、誰にもお願いしていないです。

2009-10-29 19:59:40
Akira Sasaki @gclue_akira

@kazunori_279 60req/secぐらいまではいっていたので勝手にスケールしたみたいです。

2009-10-29 20:00:31
Akira Sasaki @gclue_akira

@kazunori_279 実装の方はPythonでやってます。iPhone出た時の世界ランキングサーバでGAEを使い始めて、その後はWave、そしてmixiアプリのPC版で運用方法が確立できて、mixiモバイルアプリで一気にアクセスがきたという感じです。

2009-10-29 20:15:24
Akira Sasaki @gclue_akira

GAEの方、iPhoneアプリのランキングで使ってた頃は、重いんじゃないの、遅いんじゃないないのとか不安だったのだけど、mixiモバイルアプリの結果をみると、安定して高速レスポンスと不安がすべて解消された感じ。やっぱGoogleクラウドすごいかも。

2009-10-29 20:23:05
Akira Sasaki @gclue_akira

Google検索のトップページが世界中の国に対応しているわけで、Googleの中の人が常にレスポンス時間をチューンナップしてきたわけで、Googleのクラウド以上のパフォーマンスを出せるデータセンターは存在しないと思う。

2009-10-29 20:24:13
Akira Sasaki @gclue_akira

後は、GQLとの格闘ですね(^^; でも、GQLもいろいろとアルゴリズムというかやり方で複雑な処理とか検索もできるようにすればいけるのではと。

2009-10-29 20:25:26
Kazunori Sato @kazunori_279

それですよね。。シングルプロパティ/コンポジットインデックスの使い分けとか、コードでのフォローとか。 RT @gclue_akira: 後は、GQLとの格闘ですね(^^; でも、GQLもいろいろとアルゴリズムというかやり方で複雑な処理とか検索もできるようにすればいけるのではと。

2009-10-29 20:27:26
Akira Sasaki @gclue_akira

@kazunori_279 今回、GAEにした理由は、当初は既存サーバ+PHPとGAEの半々で構築したのですが、mixiから負荷テストの結果教えてくださいと言われて、テストと結果の報告めんどくさかったので、全部GAEにすればテストいらないなと思い全移行した次第です。

2009-10-29 20:29:45
Kazunori Sato @kazunori_279

@gclue_akira でも「GAEならスケールする」って説明するとき、実際にGAEにデプロイした環境での負荷テストとかは求められませんでした?

2009-10-29 20:32:10
Akira Sasaki @gclue_akira

@kazunori_279 瞬時のアクセス集中に備え、Twitterで教えてもらったJMeterであっためておこうとおもったのですが、突然公開されて結局JMeterも使えずに公開されたのですが、全然ガラガラでした(^^ 意外と最初の時点で処理できる規模大きいのかもしれません

2009-10-29 20:32:18
Akira Sasaki @gclue_akira

@kazunori_279 「GAEなので負荷テストしません」とメールしたら、新着のビリ2、ビリ3に配置されました。80番目ぐらい。ページでは8ページ目ぐらい(^^ 負荷テストしないといったのが原因かわかりませんが、一番アクセス来ないとこにおかれました。

2009-10-29 20:33:25
Kazunori Sato @kazunori_279

@gclue_akira なる。。GAEはスケールするって言われてても、本当に大規模事例で投入された例って、とくに国内ではまだ少ないと思うので、ただただすげ~~と思いますw うらやましいw

2009-10-29 20:34:01
Akira Sasaki @gclue_akira

@kazunori_279 mixiアプリの時もec2とGAEを採用したアプリと、既存サーバアプリで会員数の増加数に大きな差がでたと聞いていたので、一番後ろの配置でも既存サーバのアプリがレスポンスわるくなり、その結果一番後ろのページにあったうちのアプリにたどり着いたのかなと(^^

2009-10-29 20:35:36
Kazunori Sato @kazunori_279

@gclue_akira スケールする者は勝つ!ですねw

2009-10-29 20:37:44
Akira Sasaki @gclue_akira

@kazunori_279 まさにそうです! スケールするのが前提でアプリを書かないともう勝負にすらならないですよ。パラダイムが変わったと思います!

2009-10-29 20:49:45
Kazunori Sato @kazunori_279

@gclue_akira 特に携帯はアクセス集中しやすくて、サーバが重いとか落ちてるとお客にすぐそっぽ向かれるから、スケーラビリティってキモですよね。。

2009-10-29 20:52:52
Akira Sasaki @gclue_akira

@kazunori_279 そうなんですよ。あとはTV連携などの瞬発的なアクセス負荷をこなせるかどうかですよね。これもとりあえず、30分-1時間前からあっためれば、全然いけそうな感じが。

2009-10-29 21:04:49