ネットワーク負荷削減案

以下の集計は一日のアクセス数と最も混雑している状況での1秒間のアクセス数と処理量の推定

mamono.2ch.net (2008/03/24)
.txt 1,591,825 : 45 * 20K = 900K : 転送量最多(gzipしないと倍くらい)
.dat 9,883,852 : 274 * 1K = 275K : アクセス数最多(個別に圧縮する暇は無い)
.html 1,120,177 : 31 * 10K = 310K : 問題なし(圧縮してるなら改善の余地なし)
read.cgi 2,981,063 : 82 * 5K = 400K : 負荷多 (Apacheモジュール/キャッシュ)
bbs.cgi 369,789 : 10 * 1K = 10K : 負荷中 (SpeedyCGI使えば苦にならない)
------------------------------------
total 15,771,820 442/sec. 1,895K/sec.

現在帯域を最も消費しているのは Subject.txt と思われるが、
これの毎回全データを専ブラに渡す形式ではなく、更新内容だけを
更新差分ファイルに追記していくことで、専ブラからのスレ一覧の
取得処理によるデータ量を削減できないか?というもの。

更新差分ファイルの内容は、どのスレが age/sage で更新されたかのみを含む
以下、更新差分ファイルの内容

open(F, ">>updateXX.dat");
if (スレ立て) {
  sprintf(F, "\0スレタイ\0");
} else { # レスカキコ (最上位ビットを age フラグにする)
  print F pack('N', 1234567890 | ($age ? 0x80000000 : 0));
}
close(F);

専ブラは、Subject.txt を取得する際に、その時点での updateXX.dat のサイズを
何らかの形で取得できるようにし、スレ一覧の再取得の際に updateXX を差分で
取得するようにする。専ブラは専ブラの中に保持した Subject.txt を差分の内容を
解釈することで更新して、その時点での Subject.txt を内部で作り上げる。

というもの。