はじめに
この記事は アイスタイル Advent Calendar 2024 6日目の記事です。
こんにちは。アイスタイルでショッピングを担当しているtsuboikeと申します。
私、電子タバコ愛煙者の一人なのですが、紙タバコ吸ってる人を見てると100円ライターを使っている人が多い気がしてます。
マッチは見なくなりましたね。マッチ使ってる人って異質とも思える時代になったなぁと思います。
マッチは異質。マッチはいしつ。まっちわいしつ。まちあいしつ。。。
そう、仮想待合室のお話です!!
(ちょっと強引なくらいが丁度いいと思っている昭和世代のためご了承ください)
大手企業も採用している Queue-it さんの仮想待合室を @cosme SHOPPING にも導入してみたら、弊社の一大イベント「ビューティーデー」開始時にサーバーを襲っていた負荷が、昨年までは「嵐」今年は「そよ風」くらいの壮絶な効果があったのでご紹介したいと思います。
昨年までの状況
改めまして弊社、年に一度の大イベントビューティーデーというイベントを行っておりまして、いつも買ってる商品が最大30%ポイントバックで買えたり、限定セットがお得な値段で買えたり、サンプルセットがもらえたりと大変お得なイベントを 毎年12月1日~3日(予約は11月後半から) に実施しております!!(宣伝)
そして商品の在庫には限りがあるので、特に人気商品の購入意欲の高い方々が、売り切れる前にとお越しいただき、イベント開始の瞬間には通常の〇〇倍という刺激的なアクセスが来るわけです。
【去年のイベント開始時(12時)】
MAX 81%強!!(どんだけぇ~!!)
もちろん対策はしていて、数か月前から負荷対策プロジェクトを立ち上げてあれやこれやと改修やチューニングしたり、当日のサーバー台数をウン倍にして待ち構えているわけです。
ただ残念ながら過去には
「アットコスメのサイトが重い」
「サイトに繋がらなくて事前予約できなかった」
というユーザー様のお声がありました。
負荷対策を頑張っている一方、毎年ユーザー様が増えてくださるお陰で、前年以上の対策が必要なのです。。。
(愚痴ではなく嬉しい悲鳴です!!いつもご愛用ありがとうございます!!)
そして細分化すると150以上のシステムが絡み合ってる弊社システム。
どこかのシステムが高負荷に耐えられずお亡くなりになると、そこをボトルネックに、そのシステムを呼んでいる所、それをまた利用している所、のように連鎖的にお亡くなり(もしくは激重)になります。
そのような多岐にわたるシステム構成も相まって、負荷対策の難しさを痛感しておりました。
という事で、実は昨年から導入を試みてましたが昨年はステージでの検証までとなった仮想待合室、今年は晴れて導入することができました!!
仮想待合室の概要・動作イメージは、弊社のヘルプページに解説がございます。
導入方法の検討
導入方法は色々とあるようですが、一番簡単そうだったのはフロントエンドのHTMLにJavaScriptのスクリプトを組み込むというもの。
【クライアント側 (JavaScript) への実装】
ただし、この方法だとサイトを開いてJavaScriptを実行する必要があるので、遅延読み込みを入れたシングルページのサイトならともかく、弊社のようなコントローラーでデータをとってきてビューで表示、という構造のサイトだとサーバー負荷観点では効果は薄い。
という事で、フロントサーバーに来る前に仮想待合室に飛ばすためにCloudFront に導入する手法を用いました。
【CloudFront への実装】
導入に当たり、アレやコレやの困難はあったものの無事(?)にビューティーデーまでに実装できました。
結果はというと。。。
今年の状況
【今年の開始時】
MAX14%ちょい(そよ風ぇ~!!) ←「どんだけぇ~」のリズムでお願いします
去年と同じサーバー構成 で MAX14%ちょいの負荷となり、その後も緩やかに落ちていくのが分かります。
ちなみにMAXに上がる前に落ち込んでいるのは、サイトを回遊しているお客様も10分前には皆待合室に誘導するという設定で負荷が落ちています。
そしてそして、負荷は下がってはいるのですが、ユーザー様が待合室で待っている時に離脱してしまっては本末転倒。
肝心のユーザー様の注文画面までのアクセス数は、イベント開始直後で昨年の約1.5倍 になっていました!!(数字はざっくりと丸めております)
帽子が脱げると書いて脱帽!!
また、@cosme SHOPPING が平和だったという事は、ログイン時に参照している会員系のシステムや、購入時の決済系システム、クチコミ系のシステムなどなど、多岐にわたり問題なく、無事にビューティーデー2024を終了することができました!!
気になるユーザー様からは
「仮想待合室のおかげでスムーズにストレスなく買い物出来た!」
「今年は買い物しやすかった、待合室システムのおかげかな?」
というありがたいお言葉を沢山頂いておりました(涙)
今回の考察
- 瞬間的なアクセス増は仮想待合室をお試しあれ(多くのチケットサイトで採用されている意味が身をもって分かった)
- 仮想待合室にもコストは掛かるが、サーバー費用はコストダウンできる
- 負荷対策として手を動かしてた工数を、別の開発に充てられる
最後に
仮想待合室導入時に苦労したことなども書きたいのですが、セキュリティ観点で何処まで書けるかは未知数。
ただ、今後機会を頂けたら新たな記事を執筆したいと思っております。
あ、ちなみに弊社、年始に初売りセールというお得なイベントも開催していますので、ぜひ年明けにサイトをご覧になってください!!(宣伝)
最後に、アットコスメを通じて、皆様が良きコスメ、良きブランド様に出会えることを心より願っております!!
それでは、明日も アイスタイル Advent Calendar 2024 をお楽しみください!!