快適なViewVCを求めて

 またまたローカルサーバ系のメモ。自分以外には役に立たないかもですが、備忘録的に。人によっては役立つ情報かもしれませんし。

 Wiki関連のログをSubversionで世代管理するようにし、ViewVCで閲覧できるようにしたのですが、ログファイルが沢山ある階層での表示が重いです。ObJPModWikiなんでwikiディレクトリのファイルは約1,600もありますので当然といえば当然です。
表示が重い理由は幾つかあります。まず、『HTML出力が遅い』点です。これは1,600もあるファイルを解析後、HTMLを出力しているので当然でしょう。Firebugで確認した所、ページをリクエストしてからHTML自体のDLまでに15秒くらい掛かっています。これはMySQLをキャッシュとして使用することで高速化を図ろうとしました。しかし、なぜか殆ど改善が見られません。若しかすると、ボトルネックはCPUなのかもしれません。
次に『HTMLページのアイコンが多量にあり、それらをすべてDLしてきている』点です。これはその階層表示ページのファイルの頭にはファイルのタイプを示す画像が有るのですが、ブラウザはこれを全て落とそうとしているのです。画像アイコンの読み込み(約1,600個)は約1分掛かります。洒落になりません。ブラウザの設定で何とかなるとは思いますが(キャッシュを優先して使う、等)、根本的解決として、アイコン表示をなくす事にしました。

/etc/viewvc/templates/directory.ezt
以下の行を削除
----

       <img src="[docroot]/images/[is entries.pathtype "dir"]dir[else][is entries.state "dead"]broken[else]text[end][end].png" alt="" width="16" height="16" />

あと、ページングを行うようにしました。いちいち1,600ファイル分も読み込むのは非効率です。ただ、これは表示が短縮されるだけで、実際には1,600ファイルを分析処理しているようなので高速化というよりは閲覧のし易さ向けの変更です。

/etc/viewvc/viewvc.conf
----

use_pagesize = 100

これらの策では期待通りの効果を得る事が出来ました。

 MySQL仕様による高速化は余り効果を感じなかったのですが、若しかすると導入が間違っているのかもしれません。色々調べてみる必要は有るようです。

コメントを残す

メールアドレスが公開されることはありません。