My fundamental code development philosphy is "Simplify It".
Every swiss army knife object or jack of all trades method proposed by my most excellent coding team is met with the people's eyebrow and a patient ear. Ultimately every complicated idea is refined into a digestible chunk that can be read by people and quickly crunched by servers.
This philosophy has led to one of the most incredible examples of "code efficiency" that I've witnessed in my entire career.
Inside 1 GB of JVM RAM (sitting inside 4 GB of total system memory), my team has been successful in spinning up just over 450 independent web sites that are responsible for millions of hits every day.
We maintain a performance threshold objective of approximately 100ms per page hit which translates to approximately 1/10th of a second to process and load a webpage from our server. Add on some network traffic, transfer time and the usual overhead and we're still showing completely rendered pages to customers in less than 1 second - from click to render - more than 99% of the time.
One crazy snag in all of this boasting is that REM is still growing its customer base. Our J2EE infrastructure is finally pushing 90% capacity which means it's time for me to spin up a brand new server to handlie our growth.
I know it's the right thing to do, but I can't help but think about the Seinfeld episode where Kramer pushes his rental car past "E" just to see how far he could go before things really ended.
I'll have to settle on 450 or so per machine.... maybe I'll spin up a test server just to see "what could have been".