We have 5 physical servers that have a hardware load balancer infront of them, each has an Apache server that uses mod_jk to connect to three (per server) Tomcat instances, all have the exact same web apps deployed. I've made the argument to drop one of the Tomcats (per server) and increase memory allocation to the remaining two. I'm wondering if even two is necessary or we should just have a single Apache-Tomcat pair per physical server. I couldn't get a good reason as to why this was set up to begin with, but it was how it was when I joined the development team.
I guess I could also ask, are there any clear disadvantages? What comes to mind to me is that, as I've noted, less memory is going to be available overall (to the point where, depending on how many webapps you have, you're starved), and also more pooled connections behind held by each instance.