Book description
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.
Coverage includes
--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
Table of contents
- Title Page
- Copyright Page
- Dedication
- Contents
- Preface
- About the Author
- Acknowledgments
- We Want to Hear from You!
- Reader Services
- Chapter 1. Introduction to Large-Scale Java Platforms
- Chapter 2. Design and Sizing Large Scale Java Platforms
- Chapter 3. Tuning Large-Scale Java Platforms
- Chapter 4. Modern Scalable Data Platforms
- Chapter 5. Performance Studies
- Chapter 6. Best Practices
- Chapter 7. Monitoring and Troubleshooting Primer
-
Appendix. FAQs
- “We have virtualized our WebSphere environment and we are now considering open source applications server alternatives, what options do we have in this space”
- “Are there any customer testimonies, from customers who have virtualized and tuned large Scale Java Platforms that follow the recommendations you provided?”
- “I’m afraid that performance will suffer if I virtualize the enterprise Java application.”
- “I looked at virtualization, and in my environment I can only get a three-to-one server-consolidation ratio, so I don’t think it’s worth it.”
- “Where can I get support?”
- “Why would I choose to virtualize enterprise Java applications?”
- “Are there any performance issues?”
- “We have an environment of 8000 JVMs all made of Weblogic application instances, how could we possibly virtualize this?”
- “What Technology Tools and Runtime Services are contained in vFabric?”
- “Do I have to code Java differently when running on vSphere?”
- “Are there any Java best practices for vSphere?”
- “How would you achieve vertical scalability of Java applications running on vSphere?”
- “How would you achieve horizontal scalability of Java applications running on vSphere?”
- “How would you guard against server hardware failure when running Java applications on vSphere?”
- “How would you achieve high availability of Java applications running on vSphere?”
- “How many JVMs can I stack on a single VM and how many vCPUs should the VM use?”
- “Which application servers have been proven on vSphere in production?”
- “What kind of testing has been done to validate running Weblogic on vSphere?”
- “Which Web servers have been proven on vSphere in production?”
- “Java applications platforms are multitier, which tiers make sense to virtualize first?”
- “How does vSphere help with business continuity for enterprise Java applications?”
- “If I have a problem with Oracle WebLogic Server running on VMware virtual infrastructure, who should I call for support?”
- “If I have a problem with IBM Websphere Server running on VMware vSphere, who should I call for support?”
- “What about licensing?”
- “Are there any customer references?”
- “What decisions must be made due to virtualization?”
- “I have conducted extensive GC sizing and tuning for our current enterprise Java application running on physical. Do I have to adjust anything related to sizing when moving this Java application to a virtualized environment?”
- “How many and what size of virtual machines will I need?”
- “What is the correct number of JVMs per virtual machine?”
- “We would like to use the full logical CPU capacity of a host and take full advantage of HT.”
- “We have a monitoring system that is a single JVM heap of 360GB large could we tune this?”
- “We are in the DevOps team and we get challenged about our JVM knowledge by the developers, can you help us with some preliminary information about the JVM internals and how it needs to be sized?”
- Glossary
Product information
- Title: Virtualizing and Tuning Large-Scale Java Platforms
- Author(s):
- Release date: December 2013
- Publisher(s): VMware Press
- ISBN: 9780133491425
You might also like
book
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
book
Java Coding Problems
Develop your coding skills by exploring Java concepts and techniques such as Strings, Objects and Types, …
book
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
book
Building Event-Driven Microservices
Organizations today often struggle to balance business requirements with ever-increasing volumes of data. Additionally, the demand …