I'm running prefork as such:

StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 75
MaxRequestsPerChild 10000

Using ab, I benched a page that has 3 db handles:

session has 1 connection of its own. read/write are currently
sharing a single connection until they cluster.

my postgres is set to 200 connections max

so here's whats odd (benching 5000 connections):

benching 10 concurrent connections- no problem
benching 100 concurrent connections- things seem fine for the first
few hundred connections.
around 400 though, i start getting DB errors.

if i do a quick "select * from pg_stat_activity " it shows me 198
connections ( 2 reserved for admin )

i can't figure out how this number is so large.

max clients (75) + max spare servers (10)= 85 (i 'm not even sure it
can jump up to 85 like that. shouldn't it max as 75? or is that
only for active clients)
85 * 2 ( 1 session , 1 read/write ) = 170

what math am i missing there that will account for another 30+
connections that its trying to make?

at first I thought I had a some errors in my perl code re:
connections, but I only have a single connection made with the
session handle via apache::session & connect_on_init .

for whatever reason, i seem to be creating 99 session and 99 read/
write handles

anyone have a clue?