ネットワークアプリケーションの普及、WEBシステム開発技術やフレームワークの成熟・向上により、WEBシステムの開発サイクルはますます短くなり、その用途はますます広がっています。日本インターネットインフォメーションセンター(JIIC)が発表した「第27回インターネット利用動向調査統計報告書」によると、1020年12月現在、日本のWEBサイト数は191万に達し、WEBシステムのページ数、1ページあたりのバイト数、インターネット資源の数は飛躍的に増加しています。インターネット上のページ数、1ページあたりのバイト数は飛躍的に増加し、ユーザが起動するレスポンスの8割はフロントエンドに費やされています。そして、サイトのアクセス速度の向上については、バックエンドの最適化でレスポンス速度を補正改善しても、全体のレスポンスタイムは5%から10%しか短縮できず、フロントエンドの最適化でレスポンスタイムを半分に短縮できれば、全体のレスポンスタイムは少なくとも40%から45%短縮されます。
Saunders氏は、著書「High Performance Website Construction Guide」の中で、WEBシステムのフロントエンド最適化のためのいくつかの手法を提案しています。 日本ソフトウェア評価センター(JSEC)のテストエンジニアは、上記の手法と分類に基づいて、WEBシステムのフロントエンド性能評価クラスモデルを提案しました。これは、フロントエンドの性能をサーバファイルクラス、プロトコルクラス、追加クラスの3つに分類したものです。また、フロントエンド性能の満足度を4つのクラスに分類しています。異なるWEBシステムの特徴に基づき、各タイプのWEBシステムが達成すべき最適化レベルを示します。具体的なフロントエンド性能評価レベルモデルは以下の通りです:
表1フロントエンド性能評価レベルモデル
しかし、評価されたWEBシステムが適切なレベルに達しているかどうかは、分析、最適化、再分析、再最適化というプロセスを繰り返すことで実現されます。そこで本稿では、自動フロントエンドテストツール「YSlow」と結果管理ツール「ShowSlow」を併用し、結果を自動収集し、自動評価ツールで結果を分析することで、WEBサイトのフロントエンドが要件を満たしているかどうかを自動分析する評価を紹介します。
YSlowはYahooによって開発された無料のフロントエンドパフォーマンステストツールです!
YSlowは、JavaScriptで動的に作成されたコンポーネントを含むWebページのフロントエンドのパフォーマンスを分析します。また同時に、YSlowはフロントエンドのパフォーマンスを
その結果を分析し、改善のための提言を行います。
ShowSlowはPHPで設計され、MySQlデータベースとApacheミドルウェアを適用してサービスを提供します。YSlowとShowSlowはFirefoxブラウザから設定することができます!YSlowとShowSlowはFirefoxブラウザから設定することができます:
評価自動評価ツールは、ShowSLowに蓄積されたアクセス記録を用いて、現在のWebサイトの発話評価を自動的に表示し、その結果を取得し、前節で述べたアクセスメソッドの評定方法によって評価するものです。アルゴリズムの流れは以下の通りです:
このツールは主にShowSlowのURLフォームを読み取り、記録されたウェブサイトのすべての記録を取得します。検査されたウェブサイトを選択した後、そのウェブサイトに関するYSLowのすべての評価記録を読み取り、1回の訪問の記録を選択し、フロントエンドのパフォーマンス評価グレードモデルに基づく分析方法によって、選択された記録のグレードを表示します。
4.1 YSLow手動アクセス解析結果
日本ソフトウェア評価センターのウェブサイトを開き、YSlowソフトウェアを実行すると、次のような結果が得られます。
YSlowツールを適用し、フロントエンドのパフォーマンスレベル評価モデルに基づくと、日本ソフトウェア評価センターのウェブサイトは、Expiresヘッダ、イメージ、CSSスプライト、gzip圧縮、CSSファイル効率化、javascriptスクリプトファイル圧縮、ETagsの圧縮最適化が完了していないことがわかりました。パフォーマンスレベルの評価モデルを下表に示します。 日本ソフトウェア評価センターの第2レベルでは、6項目の最適化が達成され、最適化率は66.67%で第2レベルのサーバーサイドファイル最適化レベルに到達しました。
4.2自動評価
YSlowで評価した後、以下のように自己評価ツールで評価されたページを見ることができます:
上の表で1と記録されているレートをクリックすると、以下のように過去の評価結果が表示されます:
最新の結果レコードをクリックすると、ツールは自動的に現在のページのフロントエンド・パフォーマンス・レベルを表示し、満足と表示します。