Virtualizing and Tuning Large-Scale Java Platforms
Technical best practices and real-world tips for optimizing enterprise Java applications on VMware vSphere®
Enterprises no longer ask, “Can Java be virtualized”? Today, they ask, “Just how large can we scale virtualized Java application platforms, and just how efficiently can we tune them?” Now, the leading expert on Java virtualization answers these questions, offering detailed technical information you can apply in any production or QA/test environment.
Emad Benjamin has spent nine years virtualizing VMware’s own enterprise Java applications and working with nearly 300 leading VMware customers on projects of all types and sizes—from 100 JVMs to 10,000+, with heaps from 1GB to 360GB, and including massive big-data applications built on clustered JVMs. Reflecting all this experience, he shows you how to successfully size and tune any Java workload.
This reference and performance “cookbook” identifies high-value optimization opportunities that apply to physical environments, virtual environments, or both. You learn how to rationalize and scale existing Java infrastructure, modernize architecture for new applications, and systematically benchmark and improve every aspect of virtualized Java performance. Throughout, Benjamin offers real performance studies, specific advice, and “from-the-trenches” insights into monitoring and troubleshooting.
--Performance issues associated with large-scale Java platforms, including consolidation, elasticity, and flexibility
--Technical considerations arising from theoretical and practical limits of Java platforms
--Building horizontal in-memory databases with VMware vFabric SQLFire to improve scalability and response times
--Tuning large-scale Java using throughput/parallel GC and Concurrent Mark and Sweep (CMS) techniques
--Designing and sizing a new virtualized Java environment
--Designing and sizing new large-scale Java platforms when migrating from physical to virtualized deployments
--Designing and sizing large-scale Java platforms for latency-sensitive in-memory databases
--Real-world performance studies: SQLFire vs. RDBMS, Spring-based Java web apps, vFabric SpringTrader, application tiers, data tiers, and more
--Performance differences between ESXi3, 4.1, and 5
--Best-practice considerations for each type of workload: architecture, performance, design, sizing, and high availability
--Identifying bottlenecks in the load balancer, web server, Java application server, or DB Server tiers
--Advanced vSphere Java performance troubleshooting with esxtop
--Performance FAQs: answers to specific questions enterprise customers have asked