1日6億PVを6人のインフラ担当で支えられる理由
「モバゲータウン」のつくりかた
DeNAの携帯電話向けポータルサイト「モバゲータウン」は、1日のPVが6億を超える巨大サイトだが、サーバ1000台でインフラ担当者はわずか6人だ。効率的なシステムを維持できている理由とは何だろうか?
低価格なPCサーバ1000台で1日6億PVをさばく
「モバゲータウン」(以下、モバゲー)といえば、誰しも「中高生に絶大な人気を誇る携帯サイト」という認識ぐらいはあるだろう。ゲーム、ニュースに小説、占いなどのコンテンツ、アバター(仮想キャラクター)を装ったSNSコミュニケーション、ディー・エヌ・エー(以下、DeNA)が運営するショッピングやオークションサイトなどが利用できる、携帯電話向けの総合ポータルサイトだ。
モバゲーは2009年5月現在で会員数1419万人、月間ページビュー(PV)は約183億を誇る。つまり、1日当たり6億PVである。さぞかし大掛かりなシステムを運用しているのだろうと想像してしまうが、意外にそうではない。
DeNAポータル事業本部 システム部の部長、武部雄一氏は「モバゲーのシステムは、比較的低価格なPCサーバ機1000台ほどで運用している。これでもキャパシティーには突発的な負荷に耐えられる余裕を持たせている」と語る。
また、モバゲーのインフラ周りの担当者はわずか6人だという。6人で1000台のサーバを管理し、サービスの運用を可能にする秘策とは、一体何だろうか。
“超”分散環境によるシステム負荷の軽減策
1日当たり6億PVものトラフィックを効率よく処理するためには、精巧な負荷分散が必要だ。モバゲーのシステムは、オープンソースのLAMP構成を採用している。OSに「Linux」、Web/アプリケーションサーバに「Apache」、データベース(DB)サーバに「MySQL」、そしてメインの開発言語は「Perl」である。
システム負荷の高い画像・動画の配信には、外部のコンテンツ配信ネットワークを利用する。また、日記や小説など参照数が多いコンテンツではキャッシュサーバ「memcached」を活用して、DBサーバへのアクセスを減らす。武部氏によると、このmemcachedの導入はここ半年以内からだという。
それでもDBサーバの負荷は相当なものだ。そのため、MySQLのレプリケーション機能を使い、DBサーバを更新系の“マスター”と参照系の“スレーブ”に分け、処理を分散。しかも、マスター自体をさらに40系統に細かく分割し、各系統に数台から十数台のスレーブを連ねるという“超分散”環境だ。
「モバゲーのサービスは、コーナーで細かく分かれているのでマスターを分割しやすい。これなら、仮にあるコーナーに割り当てたマスターが止まっても、ほかのコーナーに及ぼす影響を最小限に抑えることができる」(武部氏)
問題は、マスターからスレーブへのレプリケーションが非同期であり、遅延が発生すること。武部氏によると「かなり厳しいしきい値」を設けて、それを超えると警告メールがインフラ担当者に送信される仕組みを取っているという。
実際の運用では、スレーブでの参照処理負荷が高まり、マスターからレプリケートした更新処理が遅れることもある。そのため、アプリケーションにチューニングを施したり、スレーブの台数を増やしたりすることで対応する。レプリケーション遅延やアプリケーション性能を監視するツールは、主に自作ツールを活用する。DeNAでは、使い勝手の良い自作ツールが運用効率化に貢献しているのだ。
さらに負荷分散で特徴的なのは、各系統で複数あるスレーブにクエリを振り分けるDNSラウンドロビンに、オープンソースのDNSサーバ「MyDNS」を採用していることだ。武部氏は「MyDNSは、標準的なBINDに比べて機能がシンプル。活用している例はそう多くないようだが、モバゲーでは重宝している」と話す。
MyDNSでは振り分けに重み付けが可能なため、スレーブの処理能力に合わせて振り分け頻度を任意に設定できる。MySQL上で管理する設定情報を更新して重み付けを動的に変えたり、監視ツールと連携して障害を起こしたスレーブを自動的に振り分け先から外したりするなど、管理しやすい面もある。こうした仕組みもあって、同社はこの超分散環境をうまく統制しているわけだ。
独自の高速フレームワークが活躍
モバゲーを語る上では、同社が開発したフレームワーク「MobaSiF(Moba/Mobile Simple Framework)」の存在も見逃せない。MobaSiFは、DeNA取締役の川崎修平氏が開発したPerlベースのWebアプリケーションフレームワークであり、DeNAが手掛ける携帯サイトで共通して使われており、2008年5月にオープンソース化されている。
MobaSiFは、携帯向けWebアプリケーションを効率的に開発・実行できるよう工夫されており、主な機能は、携帯電話の3キャリアに対応するキャリア・端末機種の判定、端末認証、絵文字変換やテンプレートエンジンだ。そのほか、MVCモデルのURLディスパッチャ、DBアクセスなど携帯向けにとどまらない汎用的な機能も備えている。
特にテンプレートエンジンの処理速度は、DeNAが実測したところ、テンプレートエンジン「Template Toolkit」の22倍にもなるという。MobaSiF自体が“軽さ”を重視しており、リクエストを受け付けるたびにテンプレートを動的に生成するのではなく、事前にコンパイルしたバイナリテンプレートを用意しているからだ。
武部氏は「PerlによるMVC(Model-View-Controller)アプリケーションでは、最近はCatalystのような多機能なフレームワークが好まれるようだが、FastCGIとMobaSiFの組み合わせは、処理の高速化と省リソース化に役立っている」と話す。
アプリケーション品質が効率化の要
モバゲーが1日当たり6億PVのトラフィックを効率的に処理できているのは、インフラが優れているからだけではない。武部氏は「何よりアプリケーション。コード記述のわずかな違いで、性能に大きな差が出る。アプリケーション品質を一定に保つことこそ、そのサイトの品質を決める」と指摘する。
モバゲーのシステムは、前述の川崎氏がほぼ1人で開発したことで知られるが、さすがに現在では50人規模の大所帯によりチーム開発が行われている。これだけの人数になるとスキルにばらつきが出るため、コーディングルールの整備や先輩エンジニアによる設計レビュー・コードレビューなどで品質向上に取り組んでいるという。
一方、同社では個々の開発者のヒューマンスキル、モチベーションを引き出す開発スタイルを取る。新たなサービスを加えるプロジェクトでは、1人の開発者と1人の企画者がペアを組み、ひざを詰めてとことん話し合うという。
「モバゲーのことを深く知り、技術を広くカバーすることはもちろん求められるが、サービスを作り上げていくエンジニアにとって重要な要素の1つに“コミュニケーション能力”があると思う」(武部氏)
そして開発者は“ピン”で設計から実装、テストまでをこなす。モバゲーの場合、新機能でも2、3週間という短期リリースが多いという。総じて開発のパフォーマンスは高そうだ。
同社がわずか6人で1000台のサーバで管理・運用できる理由は、効率化されたシステムと開発チームの工夫にあるようだ。中高生からの人気が際立つモバゲーだが、実際は20代、30代の会員が増えているという。また、端末の高度化に伴い、モバゲーのサービスは今後よりリッチになり、バラエティに富んでくるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
製品資料
[スパイスファクトリー株式会社] レガシーに消えるIT予算8割 「刷新か延命か」をAIと人で見極めるための手順 -
製品資料
[JetBrains s.r.o.] ソフトウェア開発は「コーディングエージェント」でどう変わるのか? -
事例
[テクバン株式会社] 太陽ホールディングスは国内外拠点の端末5000台をどう管理しているのか? -
事例
[株式会社キーエンス] PCが苦手でも自動化できる ポポラマーマなど4事例に学ぶ「ナビ搭載型RPA」活用 -
製品資料
[株式会社キーエンス] 自分ひとりでデスクワークを効率化 「AI&ナビ搭載RPA」で実践する業務自動化
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft 365導入後も稟議は「Excelをメールで回覧」 承認が止まる理由
-
2
米国防総省で300万人分の個人情報が流出 その「意外な原因」と教訓
-
3
PHPはそもそも必要か? 脆弱性で問われる自社サイト安全性と保守負担のバランス
-
4
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
5
PHP2Shellの「事前の情報流出」でパニックに パッチ公開を巡る“混乱劇”
-
6
京王電鉄・東京メトロの被害から学ぶ境界防衛 ITの侵害はどこまで波及するか
-
7
Microsoft 365侵害企業の9割はMFA導入済み 1002人調査で見えた盲点
-
8
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
9
金融・通信で情報漏えいが続出 IPAとJPCERT/CCが情シスに求める緊急点検
-
10
「Copilot」がIT予算を食いつぶす? 高額請求を招く課金体系と節約術
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
3
「IT史に名を残すシステム障害」8選
-
4
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
5
SCS評価制度時代の「SASE選定」ガイド
-
6
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
7
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
8
「EDR」選定ガイド:比較・検討フェーズで整理すべきポイントを解説
-
9
MDMだけでは防げない? Appleデバイスに潜む5つのセキュリティギャップ
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー