「パフォーマンスの向上」は、私が受け取る電子メールの一部のように聞こえます...
ここでは、相互に関連する 2 つのことが起こります。1 つは「特定のリクエストを処理するのにどれくらいの時間がかかるか」であり、もう 1 つは「限られたリソースで同時にいくつのリクエストを処理できるか」です。パフォーマンスについて話すとき、人々はこれらの概念のいずれかまたは両方を使用する傾向があります。
キャッシングは、これらの両方に役立ちます。
最も効果的なキャッシュ戦略は、マシンの外部のリソースを使用してコンテンツをキャッシュします。最も明白な例は、ユーザーのブラウザーまたは CDN です。CDN を使用できないと仮定しますが、HTTP キャッシュ ヘッダーの設定に少し労力を費やすことで、サーバーへの静的リソースまたは低速リソースに対する要求の数を大幅に減らすことができます。
動的コンテンツ (通常はデータベースにクエリを実行して生成する Web ページ) の場合、次に効果的なキャッシュ戦略は、ページ (の一部) によって生成された HTML をキャッシュすることです。たとえば、ホームページに「最も人気のあるアイテム」ボックスがある場合、これは通常、いくつかの適度に複雑なデータベース クエリを実行し、次に「データを HTML に変換する」バックエンド コードをいくつか実行します。HTML をキャッシュできる場合は、データベース クエリと、データを HTML に変換する CPU の労力の両方を節約できます。
それが不可能な場合は、一部のデータベース クエリの結果をキャッシュできる場合があります。これはデータベースの負荷を軽減するのに役立ち、通常は Web サーバーの負荷も軽減します。データベース クエリを実行して結果を処理するために必要なコードは、通常、キャッシュから項目を取得するよりも面倒です。高速であるため、リクエストをより迅速に処理でき、リソースをより迅速に解放できます。これにより、個々のリクエストに対するサーバーの負荷が軽減されるため、より多くの同時リクエストを処理できます。