ウェブサイトのパフォーマンスを向上させるためのウェブサーバーの改善

ウェブサイトのパフォーマンスを向上させるためのウェブサーバーの改善
<br />このシリーズの最初のセクションでは、Web サイトのパフォーマンスを向上させるための Web サイトの「コンテンツ」に関連する 10 の原則について説明しました。ウェブサイトのコンテンツを改善することに加えて、ウェブサイトのサーバー側でも注意と改善が必要な領域があります。
    コンテンツ配信ネットワークを使用して、Gzip 圧縮ファイルの Expires または Cache-Control ヘッダーを指定します。コンテンツの ETag を構成します。出力バッファを早期にフラッシュします。GET を使用して AJAX リクエストを完了します。

11. コンテンツ配信ネットワークを使用する<br />ユーザーと Web サイト サーバーの距離が応答時間に影響します。ウェブサイトのコンテンツを地理的に異なる場所にある複数のサーバーに分散すると、ダウンロード時間が短縮されます。しかし、まず何をすべきでしょうか?
コンテンツを見つけるための最初のステップは、配信サーバー上で適切に動作するようにサイトを再構築することではありません。アプリケーションのニーズに応じて Web サイトの構造を変更します。これには、サーバー間のセッション状態の同期やデータベース更新のマージなどの複雑なタスクが含まれる場合があります。ユーザーとコンテンツ サーバー間の距離を短縮するために、これらのアーキテクチャ上の手順は避けられない場合があります。
エンドユーザーの応答時間の 80% ~ 90% は、画像、スタイルシート、スクリプト、Flash などのページ コンテンツのダウンロードに費やされることに注意してください。これらは、Web サイトのパフォーマンスに関する黄金律です。アプリケーション アーキテクチャを再設計するという困難な作業に着手するよりも、まず静的コンテンツを配布する方がよい場合がよくあります。これにより、応答時間が改善されるだけでなく、コンテンツ配信ネットワークへの実装もはるかに簡単になります。
コンテンツ配信ネットワーク (CDN) は、さまざまな地理的な場所に分散された一連の Web サーバーで構成されており、Web サイトのコンテンツの送信速度を向上させます。ユーザーにコンテンツを配信するために使用されるサーバーは、主にネットワーク上のユーザーとの距離に基づいて指定されます。たとえば、ネットワーク ホップが最も少なく、応答時間が最も速いサーバーが選択されます。ウェブページ制作チュートリアルチャンネルのコンテンツを見るには、ここをクリックしてください。大手インターネット企業の中には独自の CDN を持っているところもありますが、Akamai Technologies、Mirror Image Internet、Limelight Networks などの CDN サービスを使用するにはコストが非常に高くなります。立ち上げたばかりの企業や個人のウェブサイトでは、CDN を使用するコスト予算がないかもしれませんが、対象ユーザーベースが拡大し、グローバル化が進むにつれて、高速レスポンスを実現するために CDN が必要になります。たとえば、Yahoo は、Web サイト プログラムの静的コンテンツを CDN に転送することで、エンド ユーザーの応答時間を 20% 以上短縮しました。 CDN を使用すると、コードを変更して Web サイトのアクセス速度を大幅に向上できる比較的簡単な方法です。
12. ファイルヘッダーにExpiresまたはCache-Controlを指定する
このルールには2つの側面があります: 静的コンテンツの場合:
ファイル ヘッダーの有効期限の値を「無期限」に設定します。動的コンテンツの場合:
適切な Cache-Control ファイル ヘッダーを使用して、ブラウザーが条件付きリクエストを行えるようにします。Web ページのコンテンツ デザインはますますリッチになってきており、ページにはより多くのスクリプト、スタイル シート、画像、Flash を含める必要があります。初めてページにアクセスするユーザーは複数の HTTP リクエストを送信しますが、Expires ヘッダーを使用することでコンテンツをキャッシュ可能にすることができます。後続のページ訪問時に不要な HTTP リクエストを回避します。 Expires ヘッダーは画像ファイルによく使用されますが、スクリプト、スタイルシート、Flash を含むすべてのコンテンツに使用する必要があります。
ブラウザ (およびプロキシ) はキャッシュを使用して HTTP リクエストのサイズと数を削減し、ページ アクセスを高速化します。 Web サーバーは、HTTP 応答の Expires ヘッダーを使用して、コンテンツをキャッシュする期間をクライアントに通知します。次の例は、応答が 2010 年 4 月 15 日まで期限切れにならないことをブラウザに伝える、より長い Expires ヘッダーを示しています。
有効期限: 2010 年 4 月 15 日 (木) 20:00:00 GMT
Apache サーバーを使用している場合は、ExpiresDefault を使用して、現在の日付を基準とした有効期限を設定できます。次の例では、ExpiresDefault を使用して、リクエスト時刻から 10 年後に有効期限が切れるファイル ヘッダーを設定します。
有効期限デフォルトは「アクセスプラス10年」
Expires ヘッダーを使用する場合は、ページ コンテンツが変更されたときにコンテンツ ファイル名を変更する必要があることに留意することが重要です。 Yahoo! では、yahoo_2.0.6.js のように、コンテンツ ファイル名にバージョン番号を追加するという手順をよく使用します。
Expires ヘッダーの使用は、ユーザーが Web サイトにアクセスした後にのみ有効になります。ブラウザのキャッシュが空であるため、ユーザーが初めてサイトにアクセスしたときに HTTP リクエストの数を減らす効果はありません。したがって、これによってサイトのパフォーマンスがどの程度向上するかは、「事前キャッシュ」(ページ上のすべてのコンテンツがすでに含まれている)が存在している間にページがアクセスされる頻度によって決まります。 Yahoo! では測定方法を確立しており、全ページビューの 75 ~ 85% が「事前キャッシュ」されていることがわかりました。 Expires ヘッダーを使用すると、ブラウザにキャッシュされ、ユーザーがリクエストの 1 バイトも送信しなくても、ユーザーの次のリクエストで再び使用できるコンテンツの量が増えます。
前のページ1 2 3 次のページ 続きを読む

<<:  フロートをクリアするための CSS メソッドの概要

>>:  ウェブデザインにおける円形要素の使用例 25 選

推薦する

Vue ページをリフレッシュするために provide と injection を適用する

目次方法1: 関数を直接呼び出す方法2: provide / inject (静的更新) を使用する...

CSSでカスタムフォント(font-face)を導入する方法の詳細な説明

なぜこれを使ったのか?それはポスターを作ることから始まりました。それは嵐の夜でした。 。 。さて、無...

最小限の展開で CentOS8 に OpenStack Ussuri をインストールする方法の詳細なチュートリアル

CentOS8 に最小限のデプロイメントで OpenStack Ussuri をインストールするため...

シンプルなウェブデザインコンセプトのカラーマッチング

(I)ウェブページのカラーマッチングの基本概念(1)白黒の言葉は永遠のテーマです。誰もそれを悪く言う...

MySQLは間違ったパスワードを入力する試行回数を制御します

1. 本番環境でMySQLのデッドロックを監視し、デッドロックの可能性を減らす方法まず、デッドロック...

Linux で iostat コマンドを使用するチュートリアル

序文運用・保守を行う人がスキルを持っていなければ、サーバーを操作するのに恥ずかしさを感じてしまうと言...

Docker の win ping 失敗コンテナ回避ガイド

win docker-desktopを使ってコンテナ開発に接続し、ネットワーク上で色々試してみたいと...

中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)

PS: 最近、nginx を詳細に紹介している <<High-Performance ...

NexusはAPIを使用して操作します

Nexus は RestApi を提供していますが、一部の API はまだ Groovy と組み合わ...

Vue3+Element+Tsは、フォームの基本的な検索リセットやその他の機能を実装します

Vue2 の記述スタイルから Vue3 の形式に切り替えると、記述スタイルとコード構造にいくつかの変...

MySQLにおけるテーブルインデックスの定義方法と導入

概要インデックスは、テーブル内の 1 つ以上の列に基づいて DBMS によって特定の順序で作成される...

Vueキャッシュ機能の使い方

目次vue2のキャッシュ機能Vue キャッシュ関数の変換最適化要約するvue2のキャッシュ機能vue...

IDEA2020.1.2 Webプロジェクトの作成とTomcatの設定に関する詳細なチュートリアル

この記事は、IDEA で Web プロジェクトを作成し、Tomcat を構成する方法についての統合記...

1 行または複数行のテキストがオーバーフローしたときに省略記号を表示する CSS を実装する方法

1. 単一行オーバーフロー1. 1 行がオーバーフローした場合、超過部分は表示されます...または、...

MySQL の InnoDB ストレージ ファイルの詳細な説明

物理的に言えば、InnoDB テーブルは、共有テーブルスペース ファイル (ibdata1)、排他テ...