トップ 最新

ただのにっき

2002-01-10(木) 8150歩 [長年日記]

tDiary

夕べ、スナップショット1.3.2.20020110をリリースしたんだけど、ひどいバグが見つかってしまったのでアナウンス中止。というわけで、今日になって1.3.2.20020110.1に入れ替え。実はキャッシュを実装してみたんだが、携帯端末用と一般用のキャッシュファイルを同一にしてしまっていたのが敗因。もちろん別々にしないとダメだにょ。

キャッシュは、最新表示と月毎表示の時に利用される(日毎はサイズが小さいので毎回生成しても問題ない)。本文の更新時刻(ツッコミ含む)よりキャッシュが新しい場合には、キャッシュを採用する。キャッシュファイルはdiary.rhtmlの適用までを行ったものなので、キャッシュがヒットした場合の処理はプラグインの適用だけになり、3段階あるerb処理が2段階も省かれることになる。プラグインをあまり使ってない人には特に絶大な効果があるはず。

なお、リンク元の追加は更新時刻を変更しないので、キャッシュにヒットしてしまう。これでは困るので、リンク元の表示をプラグインとして追い出し、毎回生成することにした。最新・月毎で使われるreferer_of_today_shortと日毎・更新で使われるreferer_of_today_longの2つ。

それからキャッシュをプラグインから使うために、Pluginクラスに@cache_pathを追加。実は@data_pathも追加してあるけど、将来別々にする可能性もあるので@cache_pathの利用を推奨。

というわけでベンチマーク。去年の8月を使ったのは、一番データが大きかったから。

% time (echo date=200108 | ./index.rb > /dev/null)
( echo date=200108 | ./index.rb > /dev/null )  4.20s user 0.14s system 99% cpu 4.346 total
% time (echo date=200108 | ./index.rb > /dev/null)
( echo date=200108 | ./index.rb > /dev/null )  2.40s user 0.07s system 99% cpu 2.471 total

 最初のがキャッシュファイルがない状態、次のはキャッシュが効いてる状態。リンク元生成をプラグインに追い出す前は確実に2倍は出ていたんだけど、今は1.8倍くらいか。まぁ、営業的にはだいたい2倍と言っていい数字だろう(営業って?)。というわけで、XREAあたりで負荷率が気になってる人もチャレンジする価値はあるかも。もっともスナップショットなのでそれなりの覚悟はよろしく。

リンク元といえば、昨日は『最高に気持ち悪い 写真』で検索されてしまって、シオシオですよ。ちょうどHalfLifeをやってる頃だからひっかかったんだろうなぁ。

Content-Encoding: deflate(2)

最近のw3mは対応しているという指摘をいただいたので、自宅のMaryを上げてみた。とりあえずAsumi用の0.2.3.2のSRPMをもらってきて、これをビルド。おお、たしかに見えるようになった♪ これでdeflateもどんと来いだ。時間を見て0.2.4のRPMを作ってみよう。

ただ、移行時の手違いでbookmarkを飛ばしてしまったのが泣ける。まぁ、会社で使ってるのもほぼ同じだからそれを持っていけばいいのだが。つーか、最近はアンテナしか使ってないよ(笑)。

本日のハンティング

当店日記diaryへも日記を捕獲しました(141)。ちょっと(怠慢で)寝かしておいたのもあるので、大量ですが。

gzip対応、いいですね。でもgzip圧縮って、副作用がある場合があるから躊躇しちゃうなぁ(うちの会社のproxy、ときどき誤動作するんだよ……squidなのに)。ちょっと検討してみます。しかし、gzipではContent-Lengthを返せないというのは知らなかった。それじゃ、Keep-Aliveを使えないじゃないか。調べなければ。

関心空間

かげち〜が登録されたりしてわけわからん状態になってる関心空間に、新しいキーワードを追加。基本的に、「欲しいモノ」じゃなくて「持ってるモノ」という方向で行こう、ということで。買ってないモノには、買ってしまったモノほど関心があるわけじゃないってことだしな。

ちなみに「欲しいモノ」になると、「BMW純正充電器」とか、「DiMAGE X」とか。特にDiMAGE Xはすげーよなー。「コロンブスの卵」って言葉は、コイツのためにあるんじゃないの。