Virtualizing and Tuning Large-Scale Java Platforms

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

  1. About This eBook
  2. Title Page
  3. Copyright Page
  4. Dedication Page
  5. Contents
  6. Preface
    1. Motivation for Writing This Book
    2. Prerequisites
    3. What You Need to Know First
    4. Is a 4GB Java Heap the New 1GB? Why?
    5. Why Should I Bother with Virtualization? What Are Some Key Benefits?
    6. Should I Virtualize Java Platforms?
    7. Who Should Read This Book?
    8. How to Use This Book
  7. About the Author
  8. About the Technical Reviewer
  9. Acknowledgments
  10. We Want to Hear from You!
  11. Reader Services
  12. Chapter 1. Introduction to Large-Scale Java Platforms
    1. Large-Scale Java Platform Categories
    2. Large-Scale Java Platform Trends and Requirements
    3. Large-Scale Java Platform Technical Considerations
    4. Summary
  13. Chapter 2. Modern Scalable Data Platforms
    1. SQLFire Topologies
    2. SQLFire Features
    3. Active-Active Architectures and Modern Data Platforms
    4. Chapter Summary
  14. Chapter 3. Tuning Large-Scale Java Platforms
    1. GC Tuning Approach
    2. Chapter Summary
  15. Chapter 4. Designing and Sizing Large-Scale Java Platforms
    1. Designing and Sizing a New Environment for a Virtualized Large-Scale Java Platform
    2. Sizing vFabric SQLFire Java Platforms: Category 2 Workloads
    3. Chapter Summary
  16. Chapter 5. Performance Studies
    1. SQLFire Versus RDBMS Performance Study
    2. The Olio Workload on tc Server and vSphere Performance Study
    3. SpringTrader Performance Study
    4. Performance Differences Between ESXi 3, 4.1, and 5
    5. vSphere 5 Performance Enhancements
    6. Chapter Summary
  17. Chapter 6. Best Practices
    1. Enterprise Java Applications on vSphere Best Practices (Category 1)
    2. Horizontal Scalability, Clusters, and Pools Best Practices
    3. SQLFire Best Practices and SQLFire on vSphere Best Practices (Category 2 JVM Workload Best Practices)
    4. Category 3 Workloads Best Practices
    5. GC Policy Selection
    6. Chapter Summary
  18. Chapter 7. Monitoring and Troubleshooting Primer
    1. Open a Support-Request Ticket
    2. Collecting Metrics from vCenter
    3. Troubleshooting Techniques for vSphere with esxtop
    4. Java Troubleshooting Primer
    5. Chapter Summary
  19. Appendix. FAQs
  20. Glossary
  21. Index

Product information

  • Title: Virtualizing and Tuning Large-Scale Java Platforms
  • Author(s): Emad Benjamin
  • Release date: December 2013
  • Publisher(s): VMware Press
  • ISBN: 9780133491425