Trac on Windows(3)
いまTracの評価用に使っているPCのスペックはWindows XP Pro + Pentium4 3GHz + MEM 1GBなんだけど、同じマシンからIEでアクセスすると、どの画面もTAT(turn-around time;つまりマウスカーソルが砂時計から戻る間までの時間)は9秒ちょっと位かかる。遅い。遅すぎる。ちなみにUnder 1GHzのマシンでやってみたら30秒でしたとさ。えっ?それが本番機。嘘でしょorz。
ということでTracの高速化を試してみる。方法はもちろんmod_python。参考にしたのは以下のページ。
- TracModPython英文
- TracModPython↑の日本語訳?
mod_pythonのインストール
http://httpd.apache.org/modules/python-download.cgi
からOther Binaries (Including Win32) → win/ → 3.2.8/ とクリック(3.2.8/は最新版のディレクトリ)。ここから mod_python-3.2.8.win32-py2.3.exe をDownload。
→Other mirrors:に http://ftp.kddilabs.jp/infosystems/apache/ を指定すると、ファイル名が全て表示されるので探しやすい。
そしてDownlaodした上記ファイルをダブルクリック。途中でApache2のインストールディレクトリ(ex. C:\Program Files\Apache Group\Apache2)を入力。これでApache2\modulesにmod_python.soが追加される。
httpd.confの調整
まずインストールしたmod_pythonを有効にするため、以下の1行を追加。
LoadModule python_module modules/mod_python.so
次にmod_python用の定義を追加する。
<Location "/projects/Proj1"> AuthType Basic AuthName "trac Proj1" AuthUserFile c:\svnrepos\conf\Proj1_passwd Require valid-user </Location> ↓ <Location "/projects/Proj1"> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv c:/trac/Proj1 #PythonOption TracUriRoot /projects/Proj1 AuthType Basic AuthName "trac Proj1" AuthUserFile c:\svnrepos\conf\Proj1_passwd Require valid-user </Location>
このうちTracUriRootは「最初指定しないで実行してURLが正しく生成できなければ使え」ということなので「指定なし」で試してみたら大丈夫そうだったのでコメントのままにしてある。
これでApacheを再起動すればOK。
mod_pythonの効果
劇的。評価用PCで9秒だったTATが1秒以下。サクサク動く感じ。これなら本番機でも3秒位になるかな。あとでやってみよ。
mod_pythonの効果(2)
Under 1GHzの本番機にも適用。約35秒が1秒前後になった。すげー。ロースペックなマシンにはcgiは酷だということがよくわかった。