ブログ | NGINX

突然のトラフィックの急増とサーバーの過負荷を管理する方法

NGINX-F5 水平黒タイプ RGB の一部
フランシス・フェドリスカ サムネイル
フランシス・フェドリスカ
2021年7月14日公開

多くの小売業者にとって、COVID-19パンデミックは、顧客がホリデーシーズンに買い物をする場所と方法を変えました。 店舗への買い物客の締め出しにより、これまで以上にオンライン小売店に買い物客が殺到し、 2020年のeコマース売上高は2019年比33%増の1,890億ドルに急増した。 小売業者と今年のホリデー シーズンの買い物客の間には 6 か月も残されていないため、NGINX を活用して突然のトラフィックの急増に備えるためのいくつかの方法を紹介します。

ステップ1: 競争相手に対して自分の立場を知る

スタックに変更を加える前に、「サイバー シーズン」のパフォーマンスを最大限に高めて、単に生き残るのではなく繁栄するためには、どれだけの必要があるかを知っておくと役立ちます。 まず、競合する Web サイトのパフォーマンスに関するデータを収集します。 ページの読み込み時間はおそらく最も重要な指標です。今日のせっかちなユーザーの多くは、3 秒以内にページが読み込まれないとサイトを放棄してしまいます。 読み込み時間を測定できるツールは数多くあり、その多くは無料です。 調べ始めるのに簡単な方法は、最近の Geekflare による 11 個のテスト ツールのレビューです。

次のページの読み込み時間を測定することを検討してください。

  • ホームページ
  • 製品検索結果
  • 製品ページの詳細
  • 「購入」ボタンを押した後の確認ページ

自社サイトと合わせて、6 つの競合他社の主要ページをテストするには、わずか数時間しかかかりません。 (ダウンロード時間を測定する前に、 Shift キーを押しながら更新キーを押してブラウザのキャッシュをクリアしてください。) 結果を得たら、次に行うことは次のとおりです。

  • インデックストータルパフォーマンス。 さまざまなサイトで「最初から最後まで」のプロセス(訪問、検索、購入)にはどのくらいの時間がかかりますか?
  • 強みと弱みを特定します。 サイトのパフォーマンスが優れている、競争力がある、または遅れている特定の領域を見つけます。
  • 機能の違いに注意してください。 競合他社は追加機能を通じてショッピング体験にどのような価値を付加しているのでしょうか? あなたのサイトでは、ユーザーエクスペリエンスを差別化するために何を提供していますか?
  • 計画を作成します。 サイトのパフォーマンスの 1 つ以上の領域で競合他社より大幅に遅れている場合は、競合他社の平均応答時間を満たすことを目指します。すでに競争力がある場合は、1 位になることを目指します。

ステップ2: 世界で最も忙しいウェブサイトのように NGINX を実行する

今年初め、 NGINX はインターネット上で第 1 位の Web サーバーになりました。 多くのサイトが当社を信頼してウェブサイトやアプリの提供を任せてくれていることを光栄に思っており、皆様もそう思っていただけることを願っています。 しかし、NGINX は単なる Web サーバーではありません。 これは、オールインワンのソフトウェアリバース プロキシロード バランサキャッシュ、およびAPI ゲートウェイです。

NGINX の最も重要な利点の 1 つは、サイトへのトラフィックのフローを最適化する方法です。 NGINX を、店舗の入り口でトラフィックを管理するドアキーパーと考えてください。 買い物客を順番に列に並べて入場させ(HTTP リクエスト)、歩道の混沌とした混雑を店内のスムーズで整然とした行列に変えます。 買い物客はウィッシュリストにある商品の特定の場所に誘導され、トラフィックが均等に分散され、すべてのリソースが平等に使用されるようになります。

NGINX は、これを実現するために主に 2 つのすぐに使用できる手法を採用しています。

  • キープアライブ接続を使用した HTTP オフロードにより、到着が遅い HTTP 要求をバッファリングし、準備ができたときにのみバックエンド サーバーに転送します。 トランザクションは、遠隔クライアントから発生する場合よりも、NGINX (高速ローカル ネットワーク上) から発生する場合の方がはるかに速く完了します。
  • 複数のアルゴリズムから選択できる高度な負荷分散により、トラフィック分散を最適化し、サーバー リソースを可能な限り効率的に使用します。

トラフィック フローを最適化することに加えて、NGINX を活用してサイトを最適化し、トラフィックの急増時にサーバーの過負荷を防ぐ 4 つの方法を紹介します。

詳細については以下をお読みください:

キャッシュによる Web ページの応答時間の改善

クリック&コレクト、オンライン注文と店頭受け取り、さらには顧客の支払いオプションにより、オンライン取引が成功する可能性が高まります。 コンテンツキャッシュ NGINX を使用すると、Web トラフィックに対して同様の効果が得られます。 NGINX はクライアントに送信する各ファイルを自動的に保存し、特定のファイルに対する後続のリクエストをキャッシュから直接処理します。 キャッシュを使用すると、ユーザーへの応答が速くなるだけでなく、同じリクエストを最初から何度も処理する必要がなくなるため、上流サーバーの負荷が軽減されます。 アプリケーションによっては、コンテンツ キャッシュによって内部トラフィックの量が最大 100 分の 1 に削減され、アプリの提供に必要なハードウェア容量が削減されます。

キャッシュとサンプル構成の詳細については、ブログの「サイト コンテンツのキャッシュとマイクロキャッシュ」および「NGINX と NGINX Plus を使用したキャッシュのガイド」を参照してください。

接続、レート、帯域幅の制御による訪問者トラフィックの管理

最も混雑する時間帯には、店舗のドアマンが入店する買い物客の数を制限する必要があるかもしれません。 これは、安全上の理由(混雑を避ける)や、大切な顧客への優遇措置(VIP 時間、招待者限定のプロモーションなど)のためである可能性があります。 Web アプリでも同様の対策を講じる必要があります。 サイトに入るトラフィックの量を制限してサーバーの過負荷を防ぎ、クライアントが必要なリソースにタイムリーにアクセスできるようにすることができます。 NGINX (およびコンテナ環境ではNGINX Ingress Controller ) は、着信トラフィックを制限するためのさまざまな方法を提供します。

  • 同時実行の制限– 各サーバーに転送される同時リクエストの数を、各サーバーのワーカースレッドまたはプロセスの制限数に合わせて制限します。
  • リクエストレート制限– 各クライアントからのリクエストに秒単位または分単位の制限を適用し、支払いゲートウェイや複雑な検索などのサービスに対するサーバーの過負荷を防ぎます (詳細については、ブログの「NGINX および NGINX Plus によるレート制限」を参照してください)
  • 帯域幅制限– クライアントが各接続でダウンロードできるデータの量を制御します

必要に応じて、異なるタイプのクライアントを区別することができます。 ストアの配送エリアがアジアまで及ばない場合や、ショッピングカートに商品が入っているユーザーを優先したい場合もあります。 クッキー、地理位置情報データ、その他のパラメータを活用して、NGINX がトラフィック制限を適用する方法を制御できます。

弾力的なスケーリングでサーバーの過負荷を回避

適切なインフラストラクチャが整っていない場合、トラフィックの急増によりサーバーの過負荷が簡単に発生する可能性があります。 NGINX の軽量なイベント駆動型アーキテクチャは、既存のインフラストラクチャでアプリ配信のパフォーマンスを最大化します。 NGINX Ingress Controllerおよびベアメタル仮想化環境上の NGINX Plus 向けのサイジング ガイドは、準備しているパフォーマンスとスケールに対する正確な運用コストを決定するのに役立ちます。

DevOps チームがトラフィックの急増に効果的に対応するために活用できる追加の NGINX 機能があります。

  • NGINX とアプリをクラウド環境にデプロイします。 NGINX は、 AWSGoogle Cloud PlatformMicrosoft Azureなどの主要なクラウド環境のマーケットプレイスで入手できます。 各クラウド プロバイダーは、需要の変化に応じてアプリ インスタンスの数を調整する自動スケーリングをサポートしています。 詳細については、 AWSGCPAzureの自動スケーリングのドキュメントを参照してください。
  • Kubernetes 環境にコンテナをデプロイします。 NGINX Ingress ControllerNGINX Service Mesh には、Kubernetes アプリの耐障害性を高める複数の機能が含まれています。 ユーザーの需要に応じてアプリケーション ポッドを水平方向に拡張でき、リアルタイム ユーザーに対するレイテンシの増加はほとんどありません。
  • NGINX Plus API を使用して、NGINX Plus によって負荷分散されるバックエンド サーバーを動的にスケーリングします

組み込みのセキュリティで顧客データを保護

取引を安全に行うことは、あらゆる Web サイトにとって必須の事項ですが、特にクレジットカード情報を扱うオンライン小売業者にとっては重要です。 ターゲットのような不運な小売業者が直接知っているように、違反はブランドの名誉を傷つけ、訴訟につながる可能性がある。 ターゲットは、可視性を向上させ、セキュリティを強化する機能強化により、2014 年のデータ侵害に対処しました。 以下の実装により、市場で最も安全なショッピング体験を実現し、競合他社との差別化を図ります。

準備完了

今すぐ当社のエンタープライズ グレードのソリューションを Web プロパティに導入すれば、2021 年の年末のショッピング シーズンに何が起こっても (オンラインでも) 安心して対応できます。

当社のすべての商用ソリューションは、30 日間の無料トライアルをご利用いただけます。

または、無料のオープンソース製品から始めましょう:

このブログには、Owen Garrett と Floyd Smith の寄稿が含まれています。


「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"