開発Blog

ブラウザキャッシュを利用して少しでもレスポンス向上

投稿日:2011-08-31 更新日:

こんにちは、開発本部の大西です。

最近の流れから、社内のネットワーク上でなく、インターネット上のSaaS/Cloud環境にintra-martを稼働させてアクセスしたりすることが多くなってきました。

そうすると、環境によってはネットワークの遅延が問題になることがでてくるようになってきました。
また、intra-mart自体もIM共通マスタやIM-WorkflowなどAjaxを多用する機能が増えてきており、
一つの画面を表示するのに、大量のJSファイルやCSSファイルや画像ファイルなどの静的ファイルを
読み込むようになっており、1画面を表示するためのリクエスト数が増加傾向にあります。

現状、この状況を解決する一番簡単な手段として、クライアントのブラウザのキャッシュ機能を有効活用することで、見かけ上のレスポンスを向上させることができます。

つまり、ブラウザにキャッシュされては困る、intra-mart上のプログラム上で生成されるコンテンツ自体はキャッシュさせずに、変更される頻度が低いクライアントサイドのJavaScriptファイル、CSSファイル、画像ファイルをブラウザ側にキャッシュさせ、毎回サーバ側に取得させなくすることで、ブラウザからのリクエスト数を減少させて、サーバの負荷を低減させ、見かけ上のレスポンスも向上させることが可能です。

具体的な対応方法としては、

WebPlatformで、ResinをWeb/APサーバとして利用している場合

AppRuntimeのconf/http.xmlの「<web-app id="/imart" ・・・」の<web-app>タグ内に
以下の設定を追記してください。

この設定で、拡張子が、js,css,png,gif.jpgの静的コンテンツが1D = 1日間(24時間)、ブラウザにキャッシュされ、キャッシュが存在した場合は、ブラウザはキャッシュを利用します。

また、これに合わせて、転送時のファイルサイズをGzip圧縮で圧縮する設定をあわせて行うことで、転送時間を抑えることができ、非常に効果的ですので、上記設定と合わせて設定していただくことを推奨致します。

GZIP圧縮の設定は、上記と同じ<web-app>タグ内に

を記載することで、APPサーバ側でGZIP圧縮することが可能になります。

Apacheを利用している場合

Apacheのconf/http.confに

を記載することで、上記と同じ動作になります。
なお、GZIP圧縮の設定は以下になります。

参考までに、私のローカル環境で確認したところ、
IM-Workflowの申請画面の根回しメールにある検索リンクを押下してから、
ユーザ検索画面が表示されるまでのリクエスト数とレスポンスタイムは以下のようになりました。

上記設定なし             :リクエスト数:142 レスポンスタイム:2.36秒
上記設定あり(1回目のリクエスト) :リクエスト数:117 レスポンスタイム:1.49秒
上記設定あり(2回目のリクエスト) :リクエスト数:12  レスポンスタイム:0.65秒

とローカル環境でも効果はありますので、どの環境でも効果はあると思います。

なお、注意点として、上記に説明している通り、上記設定を行った場合、静的コンテンツを
指定期間ブラウザにキャッシュすることになりますので、今後のパッチの適用等でCSSやJSファイルに変更があった場合にパッチ適用しても有効にならず、不具合が発生する場合がありますので、その場合は、ブラウザのキャッシュを消去して頂く必要がありますので、ご注意ください。

-開発Blog
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

Adobe Flash Player のサポート終了後も継続して利用するための手順例

はじめに 下記FAQでもご案内している通り、2021/1/11以降、Adobe Flash Player が利用できなくなります。 これにしたがい、Adobe Flash Player を利用した弊社 …

no image

intra-mart WebPlatform/AppFramework Ver7.2について その3

では、第3回、アクセスセキュリティ関連とポータルの機能追加をご紹介します。 ■アクセスセキュリティ 1. ログイングループ単位でアプリケーションロール数が設定可能になりました。 イントラネット・スター …

no image

iCEC2011 IM-ContentsSearch

4/26に開催された「intra-mart Certified Evangelist Conference 2011(iCEC2011)」での講演資料を公開します。 IM-ContentsSearch …

no image

「im-J2EE Framework + Struts」連携ガイド(β版)

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 im-J2EE Frameworkは …

no image

ApplicationRuntimeのライセンス数制限の仕様について

  ※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。   intr …