本気で話しましょう。 またはクリームエッグ。 あるいはキャンディーの箱。 彼らに共通するものは何でしょうか? もちろん、それらはすべて休日に関連しています。 そして、結局のところ、これらの休日は、ウェブサイトの利益とパフォーマンスの低下の両方の最大の原因となっているのです。
英国で最近行われた調査では、「100 人以上の電子商取引の意思決定者が参加」しており、「半数以上 (58%) が昨年のピーク時にウェブサイトの速度の問題に直面したことを認めた」ことが明らかになりました。
パフォーマンスが重要であり、わずか数マイクロ秒の遅延でも数百万ドルの損失につながることは、誰もが知っています。 もう十分だ。
問題は、それに対して何ができるかということです。
答えは、運用公理 2 を思い出すことにあります。 負荷が増加するとパフォーマンスが低下します。
アプリケーション サーバーがクラウドまたはデータ センター、仮想マシンまたはコンテナーのいずれで実行されているかは関係ありません。 この公理は常に真であるため公理です。 何があっても。 システムに負荷をかけるほど、実行速度は遅くなります。 期間。
パフォーマンスを向上させる鍵は、負荷を最大化してコストを抑える必要性と、同時にパフォーマンスを最適化する必要性のバランスを取ることです。 ほとんどの場合、それは、特にピーク期間(システムの場所に関係なく、システムに多大な負荷がかかる)に直面したときに、そのバランスを回復するために使用できるあらゆるツールを使用することを意味します。
1. 負荷をバランスさせる
これが、十分に優れた(初歩的な)アプリ サービスが不十分な理由です。 なぜなら、多くの場合、簡単にスケーリングできますが、利用可能なリソース間で負荷を実際に分散できるとは限らないからです。 パフォーマンスや既存の負荷に基づいてリソースを選択するために必要なインテリジェンスが必ずしも提供されるわけではありません。 彼らの「最善の努力」は、偶然の産物と大差ありません。
負荷を分散するには、既存の負荷を理解して、新しい要求が可能な限り迅速に応答できる可能性が最も高いリソースに送信される必要があります。 基本的な負荷分散では、利用可能なリソースの静的な重み付け以外の要素がほとんど考慮されない、純粋にアルゴリズムに基づく決定に重点が置かれているため、これを実現できません。 リアルタイムの意思決定には、現在存在する負荷に関するリアルタイムの情報が必要です。 そうでなければ、負荷分散ではなく、負荷分散を行っていることになります。
負荷を分散しながらパフォーマンスを向上させるのに役立つのは、リソースの選択だけではありません。 可用性を損なうことなく負荷を軽減するさまざまなプロトコル強化機能を使用できることも重要です。 TCP 接続の多重化と再利用、暗号化とセキュリティのオフロード、圧縮業務のアップストリーム サービスへの再割り当てにより、アプリと Web サービスの負担が軽減され、リソースが解放され、パフォーマンスに実質的な影響が及びます。
サーバーは、クラウド内かデータセンター内かを問わず、コンテナまたは VM 内で実行されて機能する必要があります。 暗号化と圧縮は依然として計算負荷の高い機能であり、そのタスク用に設計されたアップストリーム サービスによって実行できます。
要求応答パスの余分なホップを排除することでもパフォーマンスが向上します。 はい、負荷分散サービス間で水平方向にスケーリングできますが、そうすると、別の意思決定レイヤー (ルーティング) が方程式に押し込まれ、実行 (これらのうちのどれがこの要求を処理するか) と転送時間 (ネットワーク経由でそのサービスに送信する) の両方に時間がかかります。 つまり、Web サーバーまたはアプリケーション サーバーが作業を実行する時間が短縮されるということです。これは、私たちが当初望んでいたことすべてです。 通常の負荷では、1 つのシステムが 100 万の接続を管理する場合と、10 個のシステムがそれぞれ同じ接続の一部を管理する場合の違いは無視できるほど小さい可能性があります。 需要が負荷を高め、運用上の原理もそこで機能するまで。 パフォーマンスの低下につながるのは、Web サーバーやアプリ サーバーの負荷だけではなく、アプリ配信チェーン全体です。
負荷分散サービスが同時に処理できる容量 (接続) が多いほど、必要なインスタンスの数は少なくなります。 これにより、他のサービスと同様に運用公理 #2 に細心の注意を払う必要がある、さらに別のリソース層を管理するオーバーヘッドが削減されます。
パフォーマンスは小売業者にとって引き続き重要な問題であり、急速に拡大するデジタル経済により、(すでにそうでない場合は)デジタルで展開するすべての企業にとっての問題になるでしょう。 休暇前にはいつも慌ただしい状況が続くため、人々はパフォーマンスの低下に対してさらに寛容ではなくなります。 前日には十分だったものが、そうではなくなる。 多くの場合、パフォーマンスの問題はアプリケーションに原因があるのではなく、アプリケーションの配信とセキュリティ保護に使用されるアーキテクチャとサービスに原因があります。 適切な機能セットを備えた適切なサービスを使用することで、組織は高負荷時にパフォーマンスの問題が発生するのを防ぐことができる可能性が高くなります。
十分良いものは、十分でなくなるまでは十分良いものです。 そうすると、イライラした顧客を呼び戻しても遅すぎます。 あなたが販売しようとしていたものが何であれ、彼らはすでに別の提供者を見つけています。