Is that what you mean by fastcgi server parameters?
Yesterday I changed from "fcgi_fork" to "fcgi" (still using flup), and I set "max-procs" to 2 (like example above), and then used pgrep to check for processes, and now I see 2 as expected. I also noticed a better usage of ram as you said!
I must ask: ¿is there an obvious reason not to use flup? I have to say that I'm no "server administrator guru". I just started using web2py, everything scaled quick, and after some time, step by step, I ended up where I'm now, with linode with ubuntu server, running web2py on production with several sites.. I already have scripts that I can easily run to setup a full site: as I said, the app installed in every site is the same, so my script takes care of creating the folders, the database, cloning repository, creating virtual host configuration, fcgi handler, etc.
So now if I want to switch to something else, I must have a very good reason because I would have to rewrite the scripts and migrate all the current sites. So that's why I'm asking if there is an obvious reason to stop using flup (I've read some place that the author has discontinuated it but I'm not shure).
I also read good stuff about nginx, some say that I should change from lighttpd to nging, but everythin is working so fine that I'm not shure if I should change anything :P
In the other hand, in relation to the database connections and pooling mechanism, I posta question in the mailing list of pgbouncer, to clarify a couple of doubts I had specifically about pgbouncer. Here is the full conversation, if it helps anybody:
Just to tell, now I have pgbouncer running on transaction pooling mode (web2py's pooling mechanism is disabled, that is, DAL with pool_size=0). I started lowering the pool_size of one of the database/user pairs (that is, lowering the pool_size of one of the sites), and in turn out to one point where I couldn't access the website, my browser kept "waiting for site". That is what I was looking for, so for the moment I'm going to use this configuration.
Notice that in pgbouncer the pool_size is asigned to the database/user pair, so regardless of the number of "max-procs" in fastcgi server, if every process connects with DAL(...) to the same database/user, all the fastcgi processes will "share" the pool (I mean, it's transparent to pgbouncer).
Thanks again and sorry about the extense emails. I'm working on that :P