トラフィックの急増に対処するのに苦労している
公開: 2022-03-10(これはスポンサー記事です。)トラフィックの急増が発生した場合、Webサイトが波に溺れるのではなく、波に乗れるようにする必要があります。
しかし、発生する可能性のある、または発生しない可能性のあるトラフィックの急増を見越して、サーバーリソースに絶えず過剰に費やすことなく、どのようにそれを行うのでしょうか。
その一部は、トラフィックの今後のアップティック(またはスランプ)を予測できるように、データを実際にうまく読み取る方法を知ることです。 それでも、データの増減は、トラフィックの急増がいつ発生するか、どのくらいの大きさになるか、またはどのくらい続くかを常に正確に予測するとは限りません。
したがって、あなたがする必要があるのは、あなたのクライアントのウェブサイトがヒットを受けてトラフィックを維持する準備ができていることを確認することです。 今日私たちがやろうとしていることは、あなたのウェブサイトがこれを行うことを可能にするツール、監視、そしてテストのシステムを作成するのを手伝うことです。
トラフィックサージのためにあなたのウェブサイトを準備する方法
トラフィックの急増に備えてWebサイトを適切に準備するには、予防的かつ事後対応的なシステムを設定する必要があります。 含める必要があるものは次のとおりです。
1.Webサイトをスケーラブルなクラウドソリューションに移動します
トラフィックの急増がウェブサイトに大混乱をもたらす可能性がある理由は、ホスティングサーバーとリソースがそれらを処理する準備ができていないためです。 純粋でシンプル。
とはいえ、サージがいつ発生するかを予測できない場合、増加したトラフィック負荷を処理する能力をホスティングに確保するにはどうすればよいでしょうか。 万が一に備えて、特大のホスティングプランにもっとお金を投入するだけですか?
明らかに、それは潜在的なトラフィックの急増に対処するための費用効果の高い方法ではありません。 代わりに、ニーズに合わせて拡張できるホスティングソリューションを探す必要があります。
DigitalOceanホスティングテクノロジーを活用する
これを支援できるそのようなプロバイダーの1つは、スケーラブルなクラウドソリューションの開発者であるDigitalOceanです。
このオプションの優れている点は、DigitalOceanが最適化された「ドロップレット」から選択できることです。 どのプランが自分に適しているかを推測する必要はありません。DigitalOceanの非常に便利なユースケースの推奨事項では、すべてが明確に説明されています。
ご覧のとおり、Dropletsは、さまざまな種類のWebサイトやアプリケーション用に構築された構成が簡単な仮想マシンです。 さらに、KVMハイパーバイザー、SSDストレージ、40GbE接続を使用して、箱から出してすぐに速度とセキュリティを実現するように構成されています。
さらに、Webサイトのトラフィックが増えると、Droplet内のストレージの量と帯域幅を簡単にアップグレードできます。 そして、後でトラフィックの急増の韻や理由を理解できれば、トラフィックの変化に対応するためにリソースをすばやくスケールアップおよびスケールダウンできます。
とはいえ、スケーラブルなクラウドホスティングソリューションは、トラフィックの急増に対処するには十分ではありません。 必要なものがさらにいくつかあります。
サージにロードバランサーを使用する
負荷分散テクノロジーに慣れていない場合は、ロードバランシングテクノロジーがある場合とない場合の違いを見てみましょう。
これは、誰かがロードバランサーなしでWebサイトにアクセスしたときに発生することです。
彼らはインターネットにログオンし、WebブラウザにURLを入力するか、そのリンクをクリックすると、サーバーがWebサイトを画面に配信することになります。
ただし、サイトへのアクセスを要求するトラフィックの量が突然急増した場合、この1台のサーバーでは負荷を効率的に処理できない可能性があります。 これが、過度に高いトラフィックの急増により、Webサイトが非常に遅くなったり、Webサイトにまったくアクセスできなくなったりする可能性がある理由です。
ただし、ロードバランサーを使用すると、次のようにWebトラフィックが発生します。
ロードバランサーは、サーバーの一種のプロキシとして機能します。 このように、トラフィックがピークに達したときに、サーバーが需要を処理するのに苦労する必要はありません。 代わりに、ロードバランサーは複数のサーバーを活用して、増大するHTTPリクエストの量のバランスを取ります。
これは、チーム間でワークロードを分散するようなものです。 すでに過負荷になっているチームメンバーの要求を積み重ねるのではなく、その能力を持っている人と作業を共有します。
ただし、実際の作業分散とは異なり、ロードバランサーはこれらすべてをバックグラウンドで実行し、完全に管理されているため、何も調整する必要はありません。
パフォーマンスの監視とバックアップを活用する
ドロップレットに適切な量の帯域幅とストレージが構成され、負荷分散がアクティブになっている限り、Webサイトは良好な状態になります。 それは交通量の急増に対して不浸透性ではありませんが、あなたが得ることができる限りそれに近いでしょう。
サーバーレベルで行うすべての強化については、緊急時対応計画を立てることが依然として重要であることを覚えておいてください。
ビジネス(ウェブサイト)継続性計画には、次の方法を含め、ウェブサイトを通常の状態に戻すために必要なすべてのことを含める必要があります。
- ウェブサイトを復元し、
- それにつながったイベントを調査し、
- そして、影響を受けた訪問者や顧客に連絡を取ります。
とはいえ、DigitalOceanが支援できる継続性計画の一部があります。
自動バックアップはどのWebサイトにも不可欠ですが、Webサイトがトラフィックの急増の影響を受けやすいことがわかっている場合は、絶対に重要です。 24時間年中無休のサポートも必須であり、DigitalOceanも提供しています。
もう1つ探す必要があるのは、組み込みのパフォーマンスモニタリングです。これについては、この投稿の後半で触れます。
2.資産を最適化する
堅固なクラウドホスティングソリューションを導入すれば、トラフィックの急増に耐えるために必要な支援をWebサイトに確実に提供できます。 ただし、すべてがホストに当てはまるわけではありません。 あなたはあなたのウェブサイトを訪問者の猛攻撃に何度も何度も役立つのに十分「軽い」ようにするためにあなたの役割を果たす必要があります。
パフォーマンスを向上させるためにWebサイトとそのアセットを最適化するためにできることがいくつかあります。
キャッシュおよびその他のファイルの最適化を有効にする
あなたのデジタル資産をより扱いやすくしたいですか? 次に、次の最適化を構成する必要があります。
キャッシング
キャッシュを実装し、Webサイトが訪問者のブラウザに配信される速度を上げるにはさまざまな方法があります。 これは、サーバー、ページ、ブラウザのデータベースレベルで実行できます。
Webホストは、サーバーのキャッシュを構成するのに役立ちます。
WordPressのようなコンテンツ管理システムを使用してWebサイトを構築した場合は、キャッシュプラグインをインストールして、Webサイトとデータベースのバッキングを処理できます。 (ファイルの縮小、Gzip圧縮などのCSSファイルとJavaScriptファイルの組み合わせも行います。)
キャッシュはいつでも手動で有効にできます。 キャッシュヘッダーと、特に2つのメカニズム(Cache-controlとExpires)を使用して、コンテンツのキャッシュ方法を構成します。
画像の最適化
メディアを忘れないでください。 画像ファイルとビデオファイルは、サーバー上で多くのスペースを占めるだけでなく、トラフィックの急増時にサーバーがどれだけ速く動作するかを妨げる可能性があります。 これらのアセットを最適化するには、ファイルの圧縮とサイズ変更を使用する必要があります。
画像をまとめて圧縮するには、TinyPNGやTinyJPGなどのオンラインツールを使用して処理します。
通常、この1つのツールでファイルサイズを約75%削減できます。
画像の重さをさらに縮小するには、画像のサイズを変更する必要があります。 使用する最大幅が1280ピクセル程度の場合、フルサイズのアセットをWebサイトにアップロードする理由はありません。
このために、ファイルソフトウェアを使用してすべてを一度に実行するか、Bulk ResizePhotosなどのオンラインサービスを使用します。
ここでは画像のサイズ変更方法に多くの柔軟性がありますが、通常は最大幅を設定するのが最適です。
管理対象データベースを使用する
Webサイトに配置するアセットを最適化することに加えて、データベースを最適化するように注意する必要があります。 とは言うものの、口で言うのは口で言うほど簡単ではありません。
私はWordPressで使用できるデータベースのクリーンアップと最適化プラグインに精通していますが、トラフィックの急増に関しては、それはあまり役に立ちません。 データベースが受信データ要求をより高いレートで処理し続けるのに役立つ何かが必要です。
そのためには、DigitalOceanからプロビジョニングできるマネージドデータベースソリューションを使用するのが最善です。
トラフィックの急増が検出されると、マネージドデータベースサービスは、それに応じてリソースを拡張するために実行する必要があることを簡素化します。 計算は必要ありません。 アカウントにログインし、必要に応じてリソースを追加するだけです。
マネージドサービスがこのような状況で理想的であるもう1つの理由は、組み込みの高可用性のためです。 そして、これは99.9%の稼働率という包括的な約束ではありません。 ホストのSLAを見ると、膨大な量のダウンタイムを防ぐために非常に長い時間がかかることがわかります。
CDNを追加する
トラフィックの急増が一般的に発生する場合にサイトに追加する最適化の別のレイヤーがあります。CDNです。
コンテンツ配信ネットワークは、さまざまな理由で役立ちます。 彼らは世界中の訪問者にウェブサイトを提供するのに最適です。 より高速なチェックアウト体験を提供したいeコマースWebサイトには間違いなく便利です。 また、トラフィックの高いアップティックに時折遭遇するWebサイトに、追加の速度、セキュリティ、およびフェイルオーバーを提供します。
DigitalOceanを使用してWebサイトをホストすることを計画している場合は、資産のより効率的なストレージと配信のために、Spaces製品(組み込みのCDN統合を備えた)を検討してください。
3.トラフィックレポートを分析します
一般的に、あなたのウェブサイトからデータを収集することについて熱心に取り組むことは本当に重要です。 これは、トラフィックの急増と戦うときに特に当てはまります。 理由は次のとおりです。
Webサイトのトラフィックに予測可能な高低がある場合は、それらをいつどのように正確に計画するかがわかります。 これは、トラフィックを処理するためにWebサイトとサーバーを最適化するだけでなく、トラフィックを監視および管理するために適切な数のスタッフを配置することを意味します。
これを行うには、GoogleAnalyticsを使用してすべてを監視します。
この例は、1日に発生したページビューの数(多かれ少なかれ)を示す12か月のデータプルです。 これは、ユーザー数やセッション数などの他の指標でも実行できます。 ただし、主な目標は、年間を通じてストレスの原因を特定することであり、過度のページビュー(または関連する場合はeコマースのコンバージョン)がこれを測定するためのより効果的な方法である可能性があります。
ここで、高値と安値が多数発生したことがわかります。
それらを額面通りに受け取るのではなく、他のデータポイントと相互参照して、あなたが見ているものがあなたが学ぶことができるトラフィックの急増であることを確認してください。
Web開発を除外する
たとえば、当時、現場での開発は行われていましたか? 誰かがバグを修復したり、新しいページをデザインしたりすると、ページビュー数が大幅に増加する可能性があります。
これが頻繁に発生する場合は、GoogleAnalyticsレベルでレポートからこのデータを自動的に削除することをお勧めします。 これは、管理メニューから実行できます。
[表示]> [フィルター]> [フィルターの追加]に移動します。
IPアドレスのデータだけでなく、テストやコンテンツ作成の目的でサイトを頻繁にプレビューする可能性のある他のユーザーを除外することで、トラフィックレベルをより正確に把握できます。
トラフィックの急増は社内チームによるものではなかったとしましょう。 次に、これらのトラフィックの急増(または減少)が予測可能な間隔で発生するかどうかを確認する必要があります。
予測可能なサージを探す
ウェブサイトが1年以上公開されている場合は、GoogleAnalyticsを使用して相関関係があるかどうかを確認できます。 前年と同じ時間枠と比較する日付を設定するだけです。
次に、トラフィックの急増の重複を探します。
この場合、両方の年に発生した注目すべきスパイクはおそらく1つか2つだけです。 1つ目は4月上旬で、もう1つは11月中旬頃でした。
これらが両方の年で過度に大きな急増であった場合(通常のトラフィック量の少なくとも5倍など)、調査する価値があると思います。 ただし、この例では、それはおそらく単なる偶然であり、除外することができます。
カレンダーを確認する
データで顕著なトラフィックの急増を特定した場合、最後に行うことは、カレンダーと照合することです。
あなたが探しているのは、急増を引き起こした可能性のあるイベントです。 のようなもの:
- たくさんの話題を呼んだホリデーセール。
- 主要なニュースワイヤーで取り上げられたプレスリリース。
- 送信したウイルスのブログ投稿または電子メールオファー。
また、トラフィックの急増後の数日または数週間のトラフィックを確認することをお勧めします。
どのように先細りになりましたか? 突然ですか、それともゆっくりと燃えましたか? 急増のおかげで、ウェブサイトは毎日のトラフィック数を少しでも改善することができましたか?
また、組織がどのように影響を受けたかを見てください。 これは、カスタマーサポートと製品返品を提供するeコマースWebサイトにとって特に重要です。 急増後、販売後の活動に上昇はありましたか? いつヒットしましたか? それはどのくらい続きましたか?
トラフィックの急増が発生した理由(つまり、どのイベントがそれをトリガーしたか)とフォールアウトが何であったかを理解できれば、将来的にこれを実際に活用できます。 たとえば、セールやバイラルポストが急増の原因であることがわかっている場合は、次のサーバーとスタッフのリソースを前もって計画することができます。
古いレポートを見て何を見つけたかに関係なく、これは進行中のプロセスの一部になる必要があります。 トラフィックレポートを生成し、定期的にメールで送信するようにGoogleAnalyticsを設定します。 このように、トラフィックレベルが変化しても(良いか悪いかにかかわらず)、何が起こっているかを常に把握し、それに応じて戦略を適応させることができます。
4.リアルタイムのパフォーマンス監視
Google Analyticsは、過去に何が起こったかを把握し、将来のトラフィックの急増にさらに効果的に備えるのに役立ちます。 一方、リアルタイムのパフォーマンスモニタリングでは、トラフィックの急増やその他の瞬間的なパフォーマンスの変化に対応できます。
リアルタイムの監視に使用できるさまざまなツールがあります。 これらのサンプルを次に示します。
フロントエンドパフォーマンスモニタリング
ページ速度が突然低下し始めたり、Webサイトがダウンしたりした場合、無駄にする時間はありません。 とはいえ、すべてが正常に実行されていることを確認するために定期的にWebサイトにログインするのはあなた次第ではありません。
代わりに、Pingdomのような稼働時間と速度の監視サービスを使用できます。
これは、トラフィックのアップティック、速度やアップタイムの問題、およびチェックアウト時に検出された問題についてWebサイトを監視するという面倒な作業を処理します。 また、リアルタイムの通知を提供するため、交通量の急増によって引き起こされた問題が悪化する前に対処できます。
このように、トラフィックの急増がパフォーマンスに悪影響を与える場合にのみ、Webサイトに注意を払い、注意を払う必要があります。常に心配する必要はありません。
バックエンドパフォーマンスモニタリング
フロントエンドの監視サービスを利用して、トラフィックが途絶えたときに通知するのは素晴らしいことですが、それだけでは十分ではありません。 バックエンドでも何が起こっているのかを知る必要があります。
もちろん、マネージドホスティングソリューションを使用すると、プロバイダーからいくつかの助けを得ることができます。 ただし、サーバーメトリックに精通して、サージの壊滅的な影響に積極的に対抗できるようにすることをお勧めします。
注目すべきいくつかの指標は次のとおりです。
- ホスティングリソース(メモリやディスクスペースなど)、
- アプリケーションのパフォーマンス(エラー率やリソース使用量など)、
- 接続性(遅延や帯域幅使用率など)。
これらの主要な指標に精通することで、Webサイトで何が起こっているのか、またはそれを修正する方法を理解するためにスクランブリングを行う必要がなくなります。
現在、DigitalOceanを使用すると、これらの便利なメトリックにアクセスできるだけではありません。 リアルタイムの監視とアラートも設定されます。 そして、それだけではありません。
多くの監視システムの問題は、それだけであるということです。停止、エラー、および不安定性を探しますが、それでもアクションを実行するのはあなた次第です。 ただし、DigitalOceanを使用すると、特定のシナリオが検出されたときに実行される特定のアクションを自動化できます。
たとえば、あなたのWebサイトが、ホリデーセールで予想していたよりもはるかに多くのトラフィックを受け取っているとします。 リソースの枯渇が速すぎるため、通常、Webサイトのクロールが遅くなったり、完全にクラッシュしたりするリスクがあります。 ただし、この場合、監視メカニズムが問題を認識し、自動スケーリングアクションがトリガーされています。
特定のイベントに対するサーバーの応答を自動化することがどれほど役立つか想像してみてください。 Webサイトを復元する方法について心配する時間を減らし、代わりにサーバー資産を最適化して高レベルのトラフィックを維持する方法に集中することができます。
まとめ
クライアントのWebサイトまたはPWAがトラフィックの急増に対応できない場合、ほこりが落ち着くと、ビジネスに大きな問題を引き起こす可能性があります。 そして、それら(またはあなた)にコストがかかるのは、ダウンタイムやページの読み込みが遅いだけではありません。
これらの余分な訪問者全員に、壊れたチェックアウトやフォームからマルウェア感染まで、体調の悪いWebサイトを見てもらうことも、ビジネスに悪影響を及ぼします。
あなたの指を交差させたり、あなたのウェブサイトがそれらのトラフィックの急増の1つを経験するのに十分な大きさや人気がないことを自分に言い聞かせるのではなく、準備してください。 DigitalOceanの実用的なクラウドホスティングソリューションから始めて、サーバー、アセット、およびそれらを取り巻くプロセスを最適化することで、急増に耐えるだけでなく、それから大きな利益を得るWebサイトの可能性を高めることができます。