Webアプリのパフォーマンスチューニング
まず、通信量の削減
基本的に、ライブラリーを使うときには
.min.js
とついている圧縮版を使う
自作のコードもできる限りツールや
Webサーバーのモジュールで圧縮する
圧縮にはgruntのプラグインなども使えそう
あと、使われる物としては
Google Closure CompilerでJavascriptのコード削減
YUI Compressor によるJavascriptとスタイルシートのコード削減
Apache のmod_deflate によるデータ圧縮など
ただし
Google Closure Compiler
YUI Compressor
についてはJavaが必要になる
Google Closure Compilerは
https://code.google.com/p/closure-compiler/
を参考に
また、Google Closure Compilerは、コマンドからの操作も可能
http://www37.atwiki.jp/aias-closurecompiler/pages/16.html?&flag_mobilex=1
の解説がわかりやすい
このツールは
改行などを削除し、コードを圧縮する
使い方は
java -jar compiler.jar --js ファイル名
結果をファイルへ出力するには
java -jar compiler.js --js ファイル名 --js_output_file 出力ファイル名
とする
また、ファイルを結合するなら
java -jar compiler.js --js_output_file 出力ファイル名 元のファイル名 元のファイル名
とする
次に、YUI Compressor
これは、Yahoo!が開発している
Javascriptとスタイルシートの圧縮ツール
詳しい使い方については
http://stacktrace.jp/tools/yuicompressor/
を参考に
これも、コマンドから実行で行う
CSSファイルを圧縮するには
java -jar yuicompressor.jar --type css --charset utf-8 -o 出力ファイル名 圧縮したいファイル名
となる
これも2つのソースをまとめることが可能で
jar -jar yuicompressor --type css --charset utf-8 -o 出力ファイル名 元ファイルその1 元ファイルその2
とする
次に、データ圧縮をする Apache mod_deflateについて
HTTP 1.1をサポートするWebサーバーを使うと
サーバー側で自動的に圧縮したデータをブラウザー側で解凍して表示できる
Apacheの場合
mod_deflateモジュールを使うことでできる
まずは、http.conf
つまり、Apache設定ファイルの中にモジュール読み込み設定があるか確認
LoadModule deflate_modules/mod_deflate.so
そして、
http://httpd.apache.org/docs/2.2/ja/mod/mod_deflate.html#deflatecompressionlevel
のリファレンスを参考に追記する
DeflateCompressionLevel
の値は、1~9で
値を大きくすれば圧縮率はあがるけど
代償としてサーバーの負荷も上がっていく