Webアプリの通信量削除

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で
値を大きくすれば圧縮率はあがるけど
代償としてサーバーの負荷も上がっていく

コメントを残す

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