[pgsql-jp: 32321] Re: 数万アクセスに対する対処について

Kenji Ono ono @ fjct.fujitsu.com
2004年 2月 20日 (金) 00:13:20 JST


小野です。

> > 僕の経験では、ファイルIOが発生するのがかなりCPUに負荷がかか
> > ると思い、DBへ直接書き込む方法を取ってました。
> > 上記のやり方は、ある時期までファイルへ書き込み、夜間などにバッチ
> > でDBへ書き込むのでしょうか。
> 
> バッチで、ではなくて、データがリアルタイムで順次追加されていくファイル(私の
> システムの場合Webサーバのログファイル)を、順次マイペースでDB側が読み込ん
> で処理する、という形です。具体的には・・「tail -f」コマンドの出力をパイプで
> 受け取ってDB側に渡しているだけです。ペースの調整はパイプのバッファがやって
> くれます。(ちなみに、ログをはき出すサーバと、DBは別サーバです)
> データが集中してくると最大で5分くらいDB側が遅れたことがありますが、通常は
> 数秒程度の遅れでついてきてます。

なるほど。

> ファイルのロックは・・今時のカーネルなら、flockを信用しても問題ないのではな
> いでしょうか。。
> 
> どうしても心配なら、メッセージキューを使うという方法もあると思います。メッ
> セージキューのFIFOのサイズが小さいので、DB側の処理が追いつくまで上流側
> が待たされることになりますけど、ロックの心配も皆無です。

理解できました。



pgsql-jp メーリングリストの案内