| CCP GAMES 問題:17,000ユーザの同時アクセスによるOLTP処理のスローダウン |
![]() Industry: Applications: Environment: Solution: Result: |
CCP Gamesにより開発されたバーチャルリアリティゲームのEVE Online上では、本物の感情が行き交う、生きた、進化し続ける世界が繰り広げられています。EVE Onlineは75,000以上のユーザが同時に単一の環境でMMORPG(Massively Multiplayer Online Role-Playing Game)に参加することができる、世界最大級のゲーム空間です。アート、テクノロジー、そして限界のないイマジネーションが融合することで、一貫性のある空間が作り出され、そこでは境界のないゲーム環境がユーザに提供されています。プレーヤは宇宙船のパイロットの役割を担い、巨大で複雑、エキサイティングな、そして敵意に満ちた宇宙空間を舞台に、名声、財産、そしてアドベンチャーを探し求めます。 プレーヤーはインターネット経由でゲームサーバに接続し、世界中の他のプレーヤ達とリアルタイムにゲームに参加します。複数の個別のゲーム空間にユーザが分散してしまうことはなく、75,000以上のユーザが同時に単一の、巨大なゲーム空間に存在することができるという意味において、EVE Onlineは真の意味でMMORPGです。EVE Onlineの世界は一貫性を持ち、常に進化し、眠ることはありません。そして高度なグラフィックスとサウンドが、更に豊かなゲーム体験をユーザに提供します。 EVE Onlineのユーザは日々増加の一途をたどっている一方、CCP Gamesは常にフレッシュでチャレンジングなゲーム経験をユーザに提供するための一切の努力を惜しみません。 EVE Onlineの認知度が高まりその複雑さが増すということは、システムのレスポンスとパフォーマンスの向上が求められることを意味します。 チャレンジ:25,000以上のユーザに対して瞬時のレスポンスタイムを提供できるスケーラビリティ 瞬時のユーザアクセスとアプリケーションのレスポンスは、競争の激しいオンラインゲーム業界で成功するための必須の条件となります。 プレーヤからの要求に対するシステムの反応が鈍いと、プレーヤのフラストレーションが溜まるだけではなく、サービスからの退会/契約の解除にも繋がる可能性があります。2005年9月、EVE Onlineは15,000以上のユーザによる同時アクセスという記録を達成しました。その際、CCP Gamesはシステムやユーザフォーラムの動向を注意深くモニターし、ユーザの満足度を低下させないよう、最大限の努力をしました。しかし、更にプレーヤが参加し同時アクセスが増加してくると、EVE Onlineのサーバではパフォーマンス低下の問題が発生し始めました。その結果、頻繁にアクセスされるゲーム機能のロードに最大20秒を要する等により、プレーヤからの不満が表面化してきました。 パフォーマンスの低下はCCP Gamesの「トップクオリティのオンラインエンターテイメントを提供し顧客を惹き付け、そして維持していく」という使命を揺るがす事態でもあることから、サービスの質を維持するためシステムの調査を実施しました。すると、ディスクに対するキューが40リクエストにも達していることが分かりました。この値が3を超えた場合、マイクロソフトはハードウェアのアップグレードを推奨しています。そこで、この状況を解決するにはハードウェアの増強が急務となりました。 EVE Onlineのサプリケーションサーバは150台のIBMサーバを利用することにより、数万人の同時アクセスに耐えうる性能を有していましたが、一方で、システムのストレージは同様の規模のアクセスにて発生する、大量な小さいサイズのリクエストに対応できていませんでした。RAIDストレージの理想的なパフォーマンスはリクエストサイズが比較的大きい場合に達成されますが、その一方で、リクエストサイズが小さい場合、パフォーマンスは大幅に制限されてしまいます。典型的なディスクのアクセスタイムは2-5msですが、今回の問題を解決するには20-50μsのアクセスタイムが要求されていました。 ソリューション:RamSan-400 RamSan-400は400,000 IOPSのI/O性能と3,000MB/sの内部帯域、15μs以下のレイテンシーを誇ります。「より高速なディスクストレージへのアップグレードも検討しましたが、RamSanのスペックが想像を超えたいたため、検討に値すると判断しました。」(CCP Games データベースマネージャ Jörundur Matthíasson氏) EVE Onlineではストレージがボトルネックになっていましたが、これはOLTPにおいて発生する典型的な問題です。10,000を超えるユーザによるアカウント情報へのアクセス等と同様に、オンラインゲームにおいてもディスクベースのストレージに膨大なストレスが発生します。EVE Onlineでは、ピーク時で毎秒1,250トランザクション、1日の合計で6千万プロセスコールが発生します。RamSanはソリッドステートディスク(SSD)テクノロジーに基づいており、ストレージメディアに対する大量なランダムなトランザクションが発生するようなアプリケーションに最適な設計がなされています。ディスクの性能はプラッターの回転速度に制限されてしまう一方、SSDはリード/ライトにメモリーチップを使用しています。そのためトランザクションはサーバが発行するスピードと同程度の速度で処理され、ディスクのように機械的動作がボトルネックになることがありません。 記録的なプレーヤ数、顧客満足度、そして40倍の性能向上 RamSanの導入によりEVE Onlineのパフォーマンスと同時ユーザに対する対応能力は飛躍的に向上しました。導入から4日足らずで、EVE Onlineは17,032ユーザの同時アクセスという新記録を達成しました。「RamSanを導入した直後からユーザフォーラムは熱狂的でポジティブなコメントで賑わいました。」(CCP Games CEO Hilmar V. Pétursson氏) RamSanの導入により、データベースに関連した実質上全ての遅延がEVE Onlineから取り除かれました。それによりEVE Onlineはこれまで以上に同時ユーザ数が増えると同時に、より高速にユーザからのリクエストを処理できるようになりました。遅延のキューはかつての40リクエストから計測ができないほど小さな値まで低下しました。また、その他のデータベースパフォーマンスの指標である「latches」と「total wait time」(あるトランザクション処理の際、他の同時トランザクションが完了するまでに発生する待機時間)も25,000から4,000へ低下しました。この技術的な指標はパフォーマンスが40倍改善しことを示しています。 「RamSan導入の効果はシステムのパフォーマンスにも顧客満足度にも即効性がありました。」(CCP Games CEO Hilmar V. Pétursson氏)「今後はハードディスクのパフォーマンスに制限されることなく、我々の技術的リソースをゲーム空間と顧客経験価値の拡大に最大限に活用することができるようになりました。これは我々の開発者にとって、非常に素晴らしいチャレンジです。」 |