CrowdHandlerの独自の機能の一つが「オートチューン」です。
サイトへのアクセスを待つトラフィックが大量にある場合、この便利なツールは、ページのパフォーマンスをサンプリングし、適切な流入レート(待合室からサイトへ移動できるユーザーの数)を見極めることで、アクセスを調整します。
今回は「オートチューン」について詳しく掘り下げ、この機能を追加した理由、その仕組み、そして最大限に活用する方法について解説したいと思います。
販売業務はストレスがたまる!
CrowdHandlerの起源は、大手エンターテインメントブランドのECサイトの構築と運用を専門としていたデジタルエージェンシーにあります。
CrowdHandlerの設計や、「Autotune」などの機能は、チケット販売の運営における豊富な経験に基づいています。
Autotuneを導入する前は、大規模な販売開始のたびに「インシデントルーム」を設置する必要がありました。つまり、3~4人のチームが、それぞれ異なるパフォーマンス指標を(モニタリングサービスやNew Relicなどのツールを使用して)監視し、複数の画面をまたいで対応を調整していたのです。
ストレスがたまった。
だからこそ、CrowdHandlerという製品を開発する際、ダッシュボードには必要な情報をすべて一画面にまとめて表示できるようにしたいと考えました。技術的な知識のないユーザーでも、すべての指標にアクセスし、一目で状況を把握できるようにしたかったのです。そのためには、キューのアクティビティが表示される画面と同じ画面に、パフォーマンス情報を表示する必要がありました。その情報の収集が実現した時点で、Autotune機能の導入は当然の次のステップでした。

では、オートチューンはどのように機能するのでしょうか?
人々がウェイティングルームを利用する主な理由の一つは、セール開催中にウェブサイトのインフラがダウンするのを防ぐためです。そして、ウェブサイトが正常に動作しているか、あるいはダウンしそうになっているかを判断する重要な方法は、ユーザーの平均ページ読み込み時間を測定することです。
ページの読み込み時間がサーバーの健全性を測る有力な指標となる理由は、サーバーの負荷が高ければ高いほど、それらのページの構築や生成にかかる時間が長くなるからです。
もちろん、ページの読み込みが遅いことは、ユーザー体験にも直接的な影響を及ぼします。何と言っても、売上を伸ばすだけでなく、ユーザーに「プロセスが順調に進んでいる」と信頼してもらう必要があるからです。
Autotuneは、ライブトラフィックを利用して、待機室からウェブサイトへユーザーを送り込む適切なペースを判断する、継続的な負荷テストのようなものだと考えてください。Autotuneは、得られたフィードバックに基づいて、最適な数のユーザーがサイトへアクセスできるよう、そのペースを絶えず調整します。これにより、サーバーのクラッシュを防ぐだけでなく、待ち行列が不必要に長くなることも防ぎます。
さらに詳しく
ページのパフォーマンスのサンプリングは、CrowdHandlerの標準機能です。実際、これはユーザーにページへのアクセス権を付与すべきかどうかを確認するコードに組み込まれているため、追加の統合作業は必要ありません。この機能により、キューから抜け出したユーザーが貴社のウェブサイトにアクセスする様子を追跡し、ユーザーが読み込んでいるページのパフォーマンスをサンプリングし、さまざまなURLに対する平均ページ読み込み時間をログに記録することができます。
(URLごとに時間を記録しておくことで、特定のページを絞り込むこともできます。したがって、リストの上位に同じページが頻繁に表示されることに気づいたら、それらは最適化の対象となる可能性があるため、開発者に確認してもらう価値があります。)
具体的には、私たちが重視している指標は「Time To First Byte」です。SEOやUXの分野では、インターネットの通信速度やブラウザがページをレンダリングするのにかかる時間などの要因に影響を受けやすい他のページ読み込み指標が注目されることがよくありますが、「Time To First Byte」は本質的に、サーバーがページを生成するのにかかる時間を測定するものです。したがって、これはサーバーのパフォーマンスを測る上で最も信頼性の高い指標と言えます。
オートチューンは、何人のユーザーを通すかをどのように判断しているのでしょうか?
サイトに対して許容できるパフォーマンス指標を設定できます。推奨されるデフォルト値は提示されますが、どのページを「読み込みが遅いページ」とみなすか、また「許容できる読み込みが遅いページの割合」を自由に設定できます。(推奨されるデフォルト値は、ページ読み込み時間が5秒、読み込みが遅いページの許容割合が2%ですが、例えばチェックアウトプロセス中など、常に読み込みが遅くなる正当な理由のあるページがある場合は、この設定を調整することをお勧めします。)

オートチューンは、これらの指標を目標値として、流入レートを制御します。
しかし、その仕組みは「低速ページの割合が閾値以下であれば、全員をサイトへアクセスさせる」というほど単純なものではありません。もしCrowdHandlerがこのように動作すれば、全員がサイトに殺到してすぐにクラッシュを引き起こしてしまうでしょう。その代わりに、Autotuneは当初は控えめに動作を開始し、エラー率を監視しながら、それに応じて対応を調整していきます。
Autotuneは、当社がこれまで仲介してきた数多くの実際の販売事例からアルゴリズムが学習した係数を用いて、指定したエラー率にどれくらいの速さで近づいているかを判断し、それに応じてユーザーの流入ペースを調整します。 これは、前方の道路状況を見極めながらアクセルペダルを踏み続けるようなものです。限界値に急速に近づいている場合、Autotuneは流入速度を落とします。一方、指定した許容閾値を大幅に下回っている場合は、より多くのユーザーを通過させるよう流入を促進します。
(ちなみに、この仕組みがどこか見覚えがあると思うなら、おそらくその通りでしょう。 PID制御器の制御ループの仕組みは、1920年代からエンジニアたちによって用いられてきました。これは、車のクルーズコントロールをオンにしたときに使用されているアルゴリズムと同じものです。)
オートチューンは実際にはどのようなものなのでしょうか?
実際にやってみると、あるサイクルが見て取れるでしょう。
トラフィックが極めて少ない閑散期には、Autotuneは通常業務に対応できる十分な余裕を持たせたレートを維持するため、キューが発生することはありません。 需要がそのレートを超え始めると、Autotuneはパフォーマンスをサンプリングして需要を追跡し、キューが最適な速度で処理され続けるようレートを調整します。ウェブサイトの動作が遅くなった場合は、適切な応答時間を維持するためにレートを下げます。販売終了が近づき需要が減少すると、Autotuneはレートを通常の業務時の水準に戻します。
このサイクルは、CrowdHandlerの活用に熟練した経験豊富なユーザーが、販売開始時にどのように反応するかを正確に反映していることがわかりました。しかし、Autotuneの反応はそれよりもはるかに迅速です。人間は自分の判断に迷いがちで、リスクを冒しすぎたり、過度に慎重になりすぎたりしがちです。その結果、待ち行列が不必要に長引いたり、さらに悪い場合にはサイトがダウンしたりすることがよくあります。
そして重要なのは、人間とは異なり、サイトが一時的に応答しなくなっても、Autotuneは慌てたりしないということです。 こうしたパフォーマンスの乱れは、想像以上に頻繁に発生します。サーバーがメンテナンス作業を開始したり、繁忙なセール真っ最中に誰かが売上レポートを実行したりといったケースです。そのような事態が発生した場合、Autotuneはパフォーマンスの低下をはるかに迅速に検知し、回復も早いため、動揺した人間のオペレーターが対応するよりもはるかに早く処理を再開することができます。
今すぐ「オートチューン」機能を使い始めましょう
オートチューン・レート管理機能はCrowdHandler独自の機能であり、現在では、この機能なしに大規模なセールを実施することはお勧めできません。そのため、当社はこの機能をCrowdHandler製品の核となる要素として位置づけています。
CrowdHandlerのダッシュボードで「オートチューン」機能を探してください。