Brian,
for each request, the openacs handle allocator tries to first to satisfy requests for handle from the first pool, for nested queries for the second pool, etc. Every request accessing the database will need a handle from pool1. If you have e.g. 60 connection threads, the needed number depends on how many of these potential concurrent threads need the database. The value certainly depends on the applications, it might be different for custom applications. The values above are based on our experience in our learn@wu system (we added some monitoring to get better understanding of this issue).
Roc, see the two following postings for the maxidle/maxopen magic:
http://dossy.org/archives/000319.html
https://openacs.org/forums/message-view?message_id=921467
The folklore setting of
ns_param maxidle 1000000000
ns_param maxopen 1000000000
are just another source for possible confusion and overflow, not contributing anything useful.
hope, this helps
-gustaf neumann