ログイン、データベース、チャット…色んな問題に対処中!
2018-08-01 – By CCP Falcon
大規模戦を可能にするため、CCPは処理能力を向上させる方法をいつも探しています。最近起きたUALX-3のような戦いが中断されることなく、よりスムーズに行えるようにしたいのです。
仮想世界を設計する際、私たちはいつも挑戦的な方法を選んできました。単一シャードにこだわり、行動が結果につながる広々としたオープンワールド環境を設けました。たった一つの選択がゲーム全体に波紋を広げ、何百何千というプレイヤーに影響を与える世界です。
ニューエデンは15年分の信じられないような物語が描かれたデジタルキャンバスです。6VDT-H、M-OEE8、B-R5RB、アサカイ、ニスワのような歴史的戦闘や、その他の大規模戦、大がかりな軍事行動で有名になった星系で彩られています。
こういった規模の戦いが起きるたび、私たちはパフォーマンス改善に役立つデータを集めています。また、このようなデータがあれば、Tranquilityサーバーのインフラ全体を交換したT3化のように、ハードウェアをアップグレードする場合に参考になります。
しかし、こうしたアップグレードを重ねてきたにもかかわらず、Tranquilityサーバーのパフォーマンスに影響する問題が2018年初頭から続いており、問題は大規模戦以外の分野でも発生しています。
◆問題の時系列
最初に問題が起きたのは2017年の11月から12月にかけてです。データベースに関する比較的小さな問題が発生し、日々のダウンタイムが少しだけ長くなりました。この問題は3月リリース直前、2月から3月にかけて起きた3回のサーバークラッシュで頂点に達しました。このとき私たちは様々な解決方法を検討しましたが、核となる問題を解決するものではありませんでした。
新しいチャットバックエンドシステムを含む、3月リリースを実装する日がやってきました。しかし、まさにその3月20日に、再びデータベースで問題が発生しました。
この問題はさらに別の問題を引き起こしました。プレイヤーがサーバーに復帰しようと殺到したため、クラウドベースのチャットシステムが熱狂的なまでの接続要請で圧倒されてしまったのです。3月20日の出来事では、こうしたスケーラビリティにかかわる要改善点や、その他いくつかの問題が明らかになりましたが、後者は迅速に解決することができました。
4月になっても安定性に関する問題は解決せず、さらに複数のデータベース問題が発生。切断された多くのプレイヤーが再接続したことで、またもチャットシステムに負荷がかかる事態になりました。
状況をもっと複雑にしたのが、Tranquilityサーバーを標的とした継続的なDDoS攻撃です。ファンフェス2018から「Into The Abyss」エクスパンション実装までの攻撃で、システムに大きな負荷がかかりました。
この攻撃ではDDoS対策システムの構成に関する問題も見つかりました。チャットシステムがTranquilityサーバーではなく外部のインフラを利用するようになったため、対策システムがチャットシステムとの接続まで制限してしまったのです。この問題は構成を修正するまで続きました。
ありがたいことに、5月にSQL2017へのアップグレードを実施したことで、データベース問題は解決し、より円滑に機能するようになりました。とはいえ、チャットシステムの問題は依然として残っており、新システムを担当するチームが優先的に対応しています。
3月20日に発生した緊急性の高いパフォーマンス問題は当日中にほとんど片付き、その後の接続障害もDDoS攻撃が終わるまでに解決しました。このように多くの問題が処理されてきた一方で、チャットシステム問題は長引いており、今なお対応が続いています。
ログインサーバーでまったく別の問題が発生すると、ただでさえ複雑な状況がさらに厄介になりました。「Into The Abyss」実装後、問題は深刻化し、チャットシステムにも今まで以上の負荷がかかりました。
この問題は、シングルサインオンシステムを提供しているサーバーや、ログイントークンを付与しているサービスの不具合が原因でした。プレイヤーにはTranquilityサーバーがオンラインに見えているのに、ランチャーがログインサーバーから正しい情報を受信できず、接続できない状態になっていたのです。
全体を見渡せば、別々のチームが管理しているインフラ各所で複数の問題が同時に発生し、恐ろしい荒れ模様が実現したという感じです。このブログを公開した時点では、状況はまだ落ちついておらず、私たちは問題に対処し続けています。
そして、我らが血に飢えたコミュニティも混乱の度合いを高めてくれました!
これまでのところ、今年の夏はここ数年でも有数の活気を見せています。今まさに展開されている戦争により、Tranquilityサーバーには私たちが予想していたより大きな負担がかかっているのです。
新たに実装されたアビサル・デッドスペースに加えて、何度かの大規模戦、腹ペコのプレイヤー達の資源採取、戦争機械を動かすために大量生産される原料、部品、ブループリント…私たちが考えていたより、ずっと活発な夏が訪れています。
◆それで、今後の計画は?
皆さんが聖書レベルの大戦争を遂行する手段を、引き続き提供していきたいと思います。
また、より大きな戦いや激しい戦闘に対応するため、処理能力を上げる余地があるということも明言しておきます。
この夏の活発さや賑やかさの裏で、各種問題がコミュニティ感情に厳しい影響を及ぼしていることも認識しています。
Tranquilityサーバーが期待されるパフォーマンスと信頼性をすぐに取り戻すよう、私たちは様々な角度から状況改善に努めています。
・データベース問題
EVE Onlineのデータベースで発生していた問題は、SQL2017へのアップグレードにより解決しました。しかし、現在もパフォーマンスを監視しており、信頼性と応答性をさらに向上させる方法を模索しています。
・DDoS問題
次に攻撃を受けたとき、私たちのインフラがトラフィックスクラビングを正しく処理し、サービスに悪影響を及ぼさないよう、DDoS対策システムを提供しているプロバイダーと協力しています。プロバイダーとの連携のもと、再発防止にむけて構成を一部変更しました。
・チャットシステム問題
チャットシステムの接続性を改善するべく作業を進めており、接続が切断される原因を調査しています。5月から6月にかけて、これらの問題を調べるために2つの専従チームを振り当てていましたが、現在は3番目のチームが接続性とチャンネルの不整合性について調べています。
・ログインサービス問題
ログインサービスとチャットシステムの問題を分析し、工学的信頼性を確保するためのタスクフォースを編成しました。信頼性を高め、プレイヤーが経験している問題を減らすことが彼らの目標です。
◆ハードウェアを追加
ハードウェアを追加することが常に正解とは限りませんが、SOLノード(EVEの各星系を担当するサーバーブレード)をTranquilityサーバーに追加し、負荷を分散する余裕を持たせます。
これにより、サーバー全体の処理能力が強化され、パフォーマンスの改善につながります。大規模戦で単一ノードに負荷がかかる問題の根本的な解決にはなりませんが、担当している他の星系を別のノードに割り当てれば、多少はマシになるはずです。
稼働しているハードウェアのメンテナンスを行うため、私たちは予備のフレックスシャーシを用意しています。最近のサーバーの負荷を考慮し、これらのシャーシとノードもTranquilityサーバーに組みこみます。これにより、アライアンストーナメント関係の星系や、普段より活発であるがゆえの負荷について、分散先を増やすことができます。
・さらにハードウェアを購入
メンテナンス用の予備機器を投入するだけではありません。ハードウェアの供給先に相談し、以下のハードウェアが納品されるのを待っているところです。
Intel Xeon Gold 5122 Processor(4C 105W 3.6GHz)を2枚搭載したSOLノード 4個
Intel Xeon Gold 6134 Processor(8C 130W 3.2GHz)を搭載した比較用SOLノード 1個
これらをパフォーマンステストのためにサーバーへ組みこんだあと、彼らがいかに宇宙船を捌いてくれるか観察し、その情報をもとに次の段階へと進みます。
◆これからどうなるの?
チャットシステムやその他の問題により、3月のダウンタイムは長いものとなりました。私たちはこの事実を鑑み、3月リリース実装時にアクティブだったプレイヤーに対し、このブログの公開と同時に未使用スキルポイントを贈りました。
2018年3月20日(3月リリースが実装され、延長ダウンタイムが発生した日)時点でアクティブだったアカウントのすべてのキャラクターに、25万の未使用スキルポイントが付与されています。
(参考までに言っておくと、3月20日以前の30日間にログインしたアカウントをアクティブとして定義しています)
プレイヤーの皆さんがニューエデンで戦争を戦っているとき、私たちCCPもパフォーマンス向上のために戦っているのです。
この戦いに終わりが無いことは知っていますが、世界中のプレイヤーの偉業と献身により、私たちは前に進み続けています。
皆さんに理解していただきたいのは、私たちは信頼性とパフォーマンスに関する懸念を十分に理解しており、これらの問題をなるべく早く解決しようと努力しているということです。
皆さんにはより良い環境でプレイしてもらうだけの価値があります。パフォーマンスと信頼性を期待されるレベルへと復旧し、そこからより良い水準を目指して改善し続けるのが私たちの使命です。
コミュニティは私たちにとって全てです。私たちは現在のような活動量の増加に対して準備が不足しており、皆さんの期待に応えることができませんでした。
これらの事実について、心からお詫び申し上げます。
この開発者ブログについてご意見や質問がある方はこちらのスレッドをご利用ください。