[pgsql-jp: 38550] Re: DB

Keisuke YAMAMOTO yama1117 @ gmail.com
2007年 7月 3日 (火) 16:51:02 JST


片岡様

山本です。

ご回答いただき、ありがとうございます。

> DBを20個に分けてしまったため、1アプリから同時に複数のDBにアクセスしな
> ければならなくなり、その結果同時接続クライアント数が数倍に膨れてしまっ
> た、なんてことは考えられませんか?
> また、接続先が20もある環境でPHPのpconnectを使っていたりすると、やはり
> 総接続数が膨大なことになってしまいます。

それぞれのDBがそれなりに使われていて、一度アクセスすると、
64Mに近いぐらいキャッシュしてしまう。

そのキャッシュは次に使われるまで消えないし、次に使われた
ときには新しいデータがキャッシュされますので、
   64M × 2x個 = 1500M ぐらいは、
直ぐに消費しているようです。
1000万件を超える頻繁にアクセスされるテーブルもあり、かなり
厳しい環境です。

> 複数のDBをダンプした場合、DB間での整合性が維持できないです。まったく関
> 係の無い独立したDB同士であれば良いのですが、DBを跨いだアクセスをしている
> とのことですから無関係ではなさそうです。本当にダンプから復旧できるのか?
> という点で心配になります。

マスタとトランが別DBに分かれているような構造です。
(一部のマスタはコピーされているのですが)
マスタとトランの同時更新がないので、それほど厳密さは要求され
ていなさそうです。

しかし、ご指摘のとおり、接続数もクライアント数 × n になるため、
メモリーの無駄遣いはかなりあると思います。

月数百万アクセスといっても、ほとんどが平日の日中のアクセスになり、
ピークは急峻なので、やはり、厳しい状態です。



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