PHP自体の設定・パフォーマンス調整

X-Powered-By ヘッダを出力しない

  • 普通ブラウザでは目にしないが、HTTPヘッダ情報にPHPのバージョン情報が含まれている。
HTTP/1.1 200 OK
Date: Sun, 14 Dec 2008 10:00:54 GMT
Server: Apache
X-Powered-By: PHP/5.2.6
Transfer-Encoding: chunked
Content-Type: text/html
  • php.iniのexpose_phpをoffに変更する。
expose_php = off
  • apacheを再起動(またはgraceful)すればOK。

送信データを圧縮

  • クライアントへデータを送信する再に圧縮することで、通信量を減らす。(回線の帯域節約)
  • サーバ側での圧縮とクライアント側での展開にCPUコストが掛かるが、実時間でみれば、圧縮・展開時間のほうが、通信時間より短いであろうと思われるので有効な設定と考えられる。
  • php.iniのoutput_handlerを変更する。
output_handler = ob_gzhandler

output_bufferingを有効にする

  • output_buffering=Off (既定)の場合、実行中にクライアントへ随時結果を送る。
  • 1行ずつ10回送るよりも、10行を1回送る、というように、結果をまとめて送るほうが効率が良い。
  • php.iniのoutput_bufferingを変更する。
output_buffering = On
  • または最大バイト数を指定する。
output_buffering = 4096

facebook slideshare rubygems github qiita