より高速に動作させる

CGI以外の方法を用いることで、adiaryを高速動作させることができます。自前サーバ所有者向きの設定項目です。*1

*1 : レンタルサーバによっては SpeedyCGI に対応していることがありますので、レンタルサーバの情報をご確認ください

共通事項

ここで示す、mod_perl や SpeedyCGI、FastCGIなどの高速化行う場合、データベースアクセスをメモリキャッシュとして展開することをお勧めします。CGI動作の場合は設定しても遅くなるだけですので誤って設定しないようにしてください。

キャッシュルーチンを途中に挟む場合の設定
<#$DB = loadpm('DB_cache', 'DB_pseudo', 'data/db/')>
<#$DB = loadpm('DB_cache', 'DB_pg',    'database=adiary', 'adiary', 'test', 1.connection_pool)>
<#$DB = loadpm('DB_cache', 'DB_mysql', 'database=adiary', 'adiary', 'test', 1.connection_pool)>
<#$DB = loadpm('DB_cache', 'DB_mysql', 'database=adiary', 'adiary', 'test', 1.connection_pool, 'ujis')>

すでにある記述してある <$DB = loadpm(....)> という行を <#$DB = loadpm(....)> とコメントアウトし、上記の中で適切な(外部DBを使用しないならば一番上)行の <#$DB = ...><$DB = ...> というように先頭 # を外し設定してください。

各方式の特徴、速度比較

こちらの記事を参照してください。

mod_perlにおける注意事項

worker 動作の mod_perl において「1.connection_pool」を有効にすると、何らかのリソースを消費しmod_prelの動作が不安定になる現象が確認されています。原因究明を行っいますが今だ不明のままです。prefork環境では確認していませんが、少なくともworkerではコネクションプールをオフにした方が安全です。次を参考にオフに設定してみてください。

<$DB = loadpm('DB_pg', 'database=adiary', 'adiary', 'test', 0)>
<$DB = loadpm('DB_cache', 'DB_mysql', 'database=adiary', 'adiary', 'test', 0)>