Want to scale on CMT systems? Try 64-bit.
By cvr on Jan 01, 2006
The CMT (Chip Multithreading) systems such as Sun's T2000 servers offer a lot of scaling power in a very form factor. With built-in cryptographic features, these systems are true web serving champs. So, you might ask, I bring my web application on a 32-bit web server, can I harness all that power? Not quite so. Our recent experience developing the Sun's 64-bit Sun Java System Web Server (with built-in Java SE and Java EE servlet container) should convince you to give 64-bit a try. The 64-bit web server set a world record SPECweb 2005 benchmark. Obviously, upsides of a 64-bit web server include: larger file caches - great for caching serving static content and larger Java heap sizes - great for holding a lot of application objects which could translates to higher number of user population. One might wonder a larger Java heap sizes means more overhead for garbage collection (GC). However, modern Java runtime supports concurrent (threaded) GC and threads are cheap on CMT systems. The net result is that a 64-bit environment lets you harness the true power of the modern systems. Now for some key highlights of 64-bit Sun Java System Web Server's world record SPECweb 2005 benchmark result on Sun's T2000 server running on Solaris 10:
- massive single instance scalability - over 100,000 simultaneous connections with average connection queue size of 80,000; 21,500 secure (HTTPS) banking and e-commerce users, and 13,160 support (heavier on static content such as patch downloads) users.
- huge file cache - upto 400,000 open files; 8GB of file space (cached in heap).
- larger heap sizes yet smoother GC cycles via parallel GC - max heap tuned to 4GB and parallel GC threads set to 8.