I was trying to tweak various settings in terms of processes and threads. This is what I observed. With web2py's default setting (I believed 1 process 15 threads), I got about 30 requests/second for my app.
With 3 processes and 2 threads, I got about 90 requests/second. This is 3 times more!!! Memory usage is similar for the two settings. Not much difference. It seems that more processes is better than more threads. Is this right? Or am I doing something improper?