2006年01月17日

w3compiler

「ウェブサイトを高速化する簡単なソリューション」と謳われている w3compiler と言うソフトを試してみた。このソフト何をしてくれるのかと言うと、ウェブサイトのコンテンツを圧縮する事によってサーバーからのデータ送出量を少なくし、結果としてパフォーマンスを向上させるというものなのだ。
 以前にこのブログの「JavaScript 圧縮」で紹介した Dojo's compression では、指定したJavaScriptファイルから余計な空白・改行を取り除いたりローカル変数名を短くしたりしてくれていたが、eval() の中身や日本語文字コードで問題が出る場合があった。また私の良く使っている Microsoft FrontPage 2003 では、サイト発行時にページの最適化を行ってくれる機能があるが、これは単にコメントや空白の除去しか行ってくれない。従って、このソフトがこれら以上の事をどのくらいやってくれるのか興味があった...
 とりあえず自分のホームページを変換して動かしてみたところ、「JavaScript の arguments オブジェクトが正しく使用できなくなる」と言う問題があった。これは、「指定されたローカル変数は名前変換しない」と言うオプションに arguments を指定する事で逃げる事ができた。arguments の様なビルトインオブジェクトに対応してくれないのは少々心配の種ではあるが、これ以外に問題は見つからず html/css/JavaScript のどれも正常に圧縮できたようだった。
 Dojo's compression で問題になっていた文字コードは、sjis/jis/euc/utf-8 のどれでも正しく変換できていた。また、eval の中身の問題が発生しなかったが、これは関数の引数に使われている名前は短くしてくれていないからだったので、痛し痒しと言えよう。いずれにせよ変換の正しさはかなり良さそうだった。

 次は変換された結果のファイルサイズだが、これはサイトによって様々なので実際に試してみるのが良いと思うが、参考までに自分のホームページの結果を簡単に紹介すると、.html = 10〜20%、.css = 20%前後、.js=50〜60%程度で、全体では約20% の改善だった。本当の改善率は、これに各リソースの送出頻度を考慮しなければならないが、このソフトではそれはわから無いので、この値はすべてのリソースが均等に送出される場合の改善率となる。厳密に評価したい人は、アクセスログ等からそれらの値を取得して計算した方が良いだろう。

 このソフトの圧縮機能は html/css/JavaScript/ASP/ColdFusion/PHP のファイルに対して適用できるのだが、PHP 等はまだコメントや空白を除去できるだけなので、まだまだこれからと言った感じだ。その他の詳しいスペックは、ここにずらずら並べるより、15日間の期間限定で全ての機能が使えるフリートライアル版があるので、それを使って実際に評価してみると良いと思う。価格はシングルPCで約$80なので、ネットワーク負荷やサーバーパフォーマンスに悩んでいるサイトで、静的ページによるコンテンツが多く含まれているなら、十分すぎる投資対効果が得られると思う。ただし今回はパフォーマンスのチェックはしなかったので、数十万以上のファイルを含むような大規模なサイトで有効に使えるかどうかはわからない(あの実装方法から考えるとちょっと厳しそうな感じだ...)。

 最後にこのソフトを見ていて思ったことを一つ。
 最近ではブログエンジンを含む CMS (Contents Management System) による、動的サイト構築が主流であると考えて良いであろう。そういう場合にはこのソフトはあまり使えない。またこの様な技術は、何をすれば良いかに気がついてしまえば、後は実装するのはそう難しく無い。だから今後の CMS には、ポストプロセスとしてこの様なコンテンツ圧縮の技術が追加されてしまう事が予想され、そうなるとこの様なスタンドアロンソフトの出番が少なくなってしまうだろうと思われるのが少々残念だ。

 ん?
「うちのCMSソフトに、こういう機能を入れたい?」
カスタムソフトウエアの製作なら、いつでもお手伝いさせて頂いております。御用の向きは、ぜひ私の方までご連絡をよろしく!



posted by lepton at 04:37| 東京 🌁| Comment(0) | TrackBack(0) | ソフトウエア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
プロフィール
名前:lepton
年齢:over 40
ウェブサイトURL:http://www.hmsoft.co.jp/lepton/
メールアドレス:contact@hmsoft.co.jp
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。