フロントエンドの最適化
-
要求の数を減らす。
-
各ページのレンダリングに必要です。
-
ページレスポンスのバイト数を減らす。
FEO 機能によって実行される最適化
| ウェブ最適化 | 問題 | Citrix ADC FEO機能の機能 | 長所 |
|---|---|---|---|
| インライン化 | クライアントブラウザは、多くの場合、Webページに関連付けられた外部CSS、画像、およびJavaScriptをロードするためにサーバーに複数の要求を送信します。 | CSSインライン、JavaScriptインライン、CSSの組み合わせ | 外部 CSS、画像、および JavaScript を HTML ファイルにインラインでロードすると、ページレンダリング時間が短縮されます。この最適化は、一度だけ表示されるコンテンツや、キャッシュサイズが制限されているモバイルデバイスに役立ちます。 |
| ミニフィケーション | サーバから取得したデータには、空白、コメント、改行文字などの重要でない文字が含まれます。ブラウザがそのようなデータの処理に費やす時間は、ウェブサイトのレイテンシーを生成します。 | CSSの縮小、JavaScriptの縮小、HTMLコメントの削除 | 縮小されたファイルは、帯域幅を消費し、特殊な処理によるレイテンシーを回避します。 |
| 画像最適化 | モバイルブラウザでは、接続速度が遅く、キャッシュメモリが限られていることがよくあります。モバイルクライアントに画像をダウンロードすると、より多くの帯域幅、処理時間、およびキャッシュスペースが消費され、Webサイトの待ち時間が発生します。 | JPEG 最適化, CSS 画像のインライン化, 画像の縮小属性, GIF から PNG への変換, HTML 画像のインライン化, WebP 画像変換, JPEG, GIF, PNG から JPEG-XR 画像変換 | 画像をCitrix ADCによって画像タグに示されているサイズに縮小し、クライアントブラウザが画像をより高速にロードできるようにします。 |
| 再配置 | 外部 CSS、画像、および JavaScript の非効率的な処理により、ページの読み込み時間が長くなります。 | 画像の遅延読み込み、CSSのヘッドへの移動、JavaScriptの終了への移動 | HTML要素を再配置して、Webページのレンダリング時間を短縮し、クライアントブラウザがオブジェクトをより高速にロードできるようにします。 |
| 接続管理 | 多くのブラウザでは、単一のドメインに対して確立できる同時接続の数に制限が設定されています。これにより、ブラウザーが Web ページのリソースを一度に 1 つずつダウンロードし、ブラウザーに時間がかかる可能性があります。 | ドメインシャーディング | 接続制限を克服します。これにより、クライアントブラウザがより多くのリソースを並行してダウンロードできるようになり、ページレンダリング時間が短縮されます。 |
フロントエンドの最適化の仕組み
-
ページの内容を解析し、キャッシュにエントリを作成し (該当する場合)、FEO ポリシーを適用します。たとえば、Citrix ADCは次の最適化ルールを適用できます。
-
CSSまたはJavaScript内の空白やコメントを削除します。
-
1つまたは複数のCSSファイルを1つのファイルに結合します。
-
PNG形式にGIF画像形式を変換します.
-
-
埋め込みオブジェクトを書き換え、最適化されたコンテンツをキャッシュに保存します。初期キャッシュエントリに使用されたものとは異なる署名を使用します。
-
後続の要求では、サーバからではなく、キャッシュから最適化されたオブジェクトをフェッチし、応答をクライアントに転送します。
フロントエンド最適化の構成
前提条件
-
キャッシュ・メモリを割り当てます。
-
デフォルトのキャッシュコンテンツグループの最大応答サイズとメモリ制限を設定します。
Citrix ADCコマンドインターフェイスを使用してフロントエンドの最適化を構成する
-
フロントエンド最適化機能を有効にします。
enable ns feature FEO
-
1 つ以上のフロントエンド最適化アクションを作成します。
add feo action <name> [-imgShrinkToAttrib] [-imgGifToPng] ...
add feo action allact -imgGifToPng -pageExtendCache
set feo parameter [-cacheMaxage <integer>] [-JpegQualityPercent <integer>] [-cssInlineThresSize <integer>] [-inlineJsThresSize <integer> [-inlineImgThresSize <integer>]
set feo parameter -cacheMaxage 10
-
1つ以上のフロントエンド最適化ポリシーを作成します。
add feo policy <name> <rule> <action>
>add feo policy pol1 TRUE all act
>add feo policy pol1 "(HTTP.REQ.URL.CONTAINS("testsite"))" allact1
-
ポリシーを負荷分散またはコンテンツスイッチング仮想サーバーにバインドするか、グローバルにバインドします。
bind lb vserver <name> -policyName <string> -priority <num>
bind cs vserver <name> -policyName <string> -priority <num>
bind feo global <policyName> <priority> -type <type> <gotoPriorityExpression>
> bind lb vserver abc -policyName pol1 -priority 1 -type NONE
> bind feo global pol1 100 -type REQ_DEFAULT
-
構成を保存します。構成を保存します。
GUI を使用したフロントエンドの最適化の構成
-
\[ 最適化 \] > \[ フロントエンド最適化 \] > \[ アクション\] に移動し、\[ 追加 \] をクリックし、関連する詳細を指定してフロントエンド最適化アクションを作成します。
-
\[最適化\] > \[フロントエンド最適化\] に移動し、右側のペインの \[設定\] で \[フロントエンド最適化設定の変更\] をクリックし、フロントエンド最適化のグローバル設定を指定します。
-
フロントエンド最適化ポリシーを作成します。
-
\[最適化\] > \[フロントエンド最適化\] > \[ポリシー\] に移動し、\[追加\] をクリックし、関連する詳細を指定してフロントエンド最適化ポリシーを作成します。
-
負荷分散またはコンテンツスイッチング仮想サーバーにポリシーをバインドします。
-
\[ 最適化 \] > \[ フロントエンド最適化 \] > \[ ポリシー\] に移動します。
-
フロントエンド最適化ポリシーを選択し、\[Policy Manager\] をクリックします。
-
フロントエンド最適化ポリシーマネージャーで、フロントエンド最適化ポリシーを負荷分散またはコンテンツスイッチング仮想サーバーにバインドします。
-
フロントエンド最適化構成の確認
CLIを使用してFEO統計を表示する
-
stat feo注:stat feo policy コマンドは、高度な FEO ポリシーの統計情報のみを表示します。 -
show feo policy name -
stat feo -detail
Citrix ADCダッシュボードでFEO統計を表示する
-
FEO統計の要約を表示するには、\[フロントエンドの最適化\]を選択します。 -
「グラフィカルビュー」 (Graphical View ) タブをクリックして、FEO 機能によって処理されたリクエストのレートを表示します。