「超PayPay祭」の高負荷対策――失敗からリベンジへの猶予は3カ月、ヤフーの運用チームはどう乗り切ったのか特集:「惰性をやめる、慣習を疑う」こんどこそ楽になる運用管理(1)

運用管理者に光を当てるオンラインイベント「Cloud Operator Days Tokyo 2021」。「超PayPay祭」における失敗と成功についてのセッション「超PayPay祭による高負荷にショッピングはどのように立ち向かったか」から、自社製プライベートクラウドで運用するWebサービスにおける高負荷対策のポイントを探る。

» 2021年08月24日 05時00分 公開
[谷崎朋子@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 通常のセール時の数倍もの利用者が殺到した2020年の「超PayPay祭+Yahoo!ショッピング大規模セール」。準備万端で挑んだヤフーの負荷対策チームだったが、無念にもシステムダウンに追い込まれた。「来年こそは」とリベンジを誓うチームメンバー。だが、そのリベンジの機会は彼らが想定しているよりも早く訪れた。

 猶予は3カ月。失敗をどう分析し、どのような対策を講じたのか。チームメンバーが「Cloud Operator Days Tokyo 2021」のセッション「超PayPay祭による高負荷にショッピングはどのように立ち向かったか」で明かした。

万全の負荷対策も、「カートにアクセスできない」といった障害が発生

 「超PayPay祭」は、対象期間中に「PayPay」で決済すると「PayPayボーナス」が通常よりも多く付与される、ヤフーの人気キャンペーンだ。2020年10月から約1カ月間開催された同キャンペーンは、年1回の「Yahoo!ショッピング大規模セール」と併催されることになり、さらにはセール最終日に最大44%のポイント還元があるということで、開催発表時から大きな注目を集めていた。

 「それだけに、経営層からの期待値も高く、セール期間中、特に最終日のグランドフィナーレでサービスダウンさせることは絶対に許容されない状況でした」。ヤフー Webエンジニアの信原有志氏は当時を振り返る。

 集客は通常セール時の数倍、システムへの負荷も相当なモノが予想される。そこで同社はセール高負荷対策の専門チームを設置。サービス開発を担当するサービス組織が、想定されるサービスへの負荷とそれを処理する上で必要なリソースの見積もり、過負荷時にシステムダウンさせない機能の実装などを担当。サービス基盤を運用、開発するプラットフォーム組織が、サービス組織が要求した各種リソースの確保や各プラットフォームのSLO(Service Level Objective)の順守を担当する体制を作った。

 対策内容は、深夜帯の負荷試験、特定の時間帯にユーザーが集中しないための、イベントやスケジュールなどの調整、サービスダウンした際のオペレーションの整理、注文の非同期化や障害時専用の静的ページの表示といった過負荷時の対策機能の実装、キャパシティープランニング、スケールアウトなど。万全の対策で、超PayPay祭+Yahoo!ショッピング大規模セールの開始日を迎えた。

 だが、チームの努力むなしく、障害は発生した。最終日、ポイント最大還元を狙ったユーザーが、日が変わるタイミングで殺到。その数は想定の数倍に及び、結果的にシステムがクラッシュし、一部ユーザーのカートが表示されなくなった。

想定をはるかに超えるアクセスが集中してシステムダウン、一部ユーザーのカートが表示されない障害が発生(ヤフーの講演資料から引用)

 負荷対策は十分だったはずなのに、なぜシステムは落ちてしまったのだろうか?

 「セールなどのイベントでアクセスがどのくらいスパイクするかは、予測が非常に難しい」。そう前置きした信原氏は、問題は予測負荷の計算にあったと続ける。

 「予測負荷は、前年度のセールの予算と負荷をベースに、今年度の予算との比率に基づいて計算しました。つまり、予算が倍になれば負荷も倍になるだろうというもので、予算ベースで負荷を決定していました。この計算式はこれまでの大規模セールでも採用され、大きく懸け離れることがなかったので、この予測から外れることはないだろうと予測していたのです」(信原氏)

 本来チームがすべきだったのは、「予測された負荷に耐える」のではなく、「予測された負荷を超えてもサービスが継続できるようにする」ことだった。課題と目標が明確になったチームは、1年後の大規模セールに向けて改修に取り掛かった。

 だが、事態は急変した。LINEとの経営統合記念で、2021年3月に超PayPay祭を開催することが決定したのだ。

 その時点で、キャンペーンは3カ月後に迫っていた。当然、当初考えていた対策は間に合わない。3カ月で何ができるのか? 信原氏たちは実現可能な有効打を急きょ検討することにした。

猶予は3カ月、負荷試験やRate Limitで対策強化

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。