Kanonでmod_wsgiをdeamonモードに設定する

こんなやりとりがタイムリーにあったので反応。

自分もさくらのVPS(1GB)を借りてJenkinsCIとTrac運用してますが、最近はKanonを使っています。KanonTracなどを一括でインストールできるTracLightningLinux版です。
で、昨晩、同じようにアクセス遅いなぁと思っていて設定をいじっていたのですが、mod_wsgiがdeamonモードになっていなかったのに気づき、設定を変更してみました。結果、かなり改善されています。

原因ですが、特に遅いのはタイムラインで、最初のロードは終わるものの、メンバーのアイコンが読み込まれるタイミングで、凄く遅延が発生し、一部のアイコンのみが表示され、残りがタイムアウトするという感じです。上のTweetではWindowsでという話ですが、自分はMac/Chromeで同じように遅くなっていました。

というわけで、confの設定を晒しておきます。python-pathを指定しておかないとImportErrorになるので注意してください。また、processesとthreadsはアクセス数などに応じて調整願います。尚、processesは1にしてもマルチプロセスモードとなるようで、シングルプロセスモードで実行したい場合は、記述そのものを削除しないとダメなようです。maximum-requestsは、このリクエスト数を捌くと、プロセスを一度落として作り直す設定です。試しに入れてみました。

WSGIDaemonProcess kanon user=apache group=apache processes=2 threads=25 maximum-requests=10000 python-path=/opt/kanon/lib/python2.6:/opt/kanon/lib/python2.6/site-packages
WSGIProcessGroup kanon