VMware VSphere Performance : Designing CPU, Memory, Storage, and Networking for Performance-intensive Workloads
[BOOK DESCRIPTION]
Covering the latest VMware vSphere software, an essential book aimed at solving vSphere performance problems before they happen VMware vSphere is the industry's most widely deployed virtualization solution. However, if you improperly deploy vSphere, performance problems occur. Aimed at VMware administrators and engineers and written by a team of VMware experts, this resource provides guidance on common CPU, memory, storage, and network-related problems. Plus, step-by-step instructions walk you through techniques for solving problems and shed light on possible causes behind the problems. Divulges troubleshooting methodologies, performance monitoring tools, and techniques and tools for isolating performance problems Details the necessary steps for handling CPU, memory, storage, and network-related problems Offers understanding on the interactions between VMware vSphere and CPU, memory, storage, and network VMware vSphere Performance is the resource you need to diagnose and handle VMware vSphere performance problems, and avoid them in the future.
[TABLE OF CONTENTS]
Introduction xix
Chapter 1 • Performance Design 1 (20)
Starting Simple 2 (2)
Determine Parameters 2 (1)
Architect for the Application 3 (1)
Assess Physical Performance 3 (1)
Start with Defaults 3 (1)
Establishing a Baseline 4 (7)
Baseline CPU Infrastructure 4 (2)
Memory 6 (1)
Network 7 (2)
Storage 9 (2)
Architecting for the Application 11 (1)
Considering Licensing Requirements 12 (1)
Integrating Virtual Machines 13 (3)
Virtual Machine Scalability 13 (1)
vMotion 13 (2)
Distributed Resource Scheduler 15 (1)
High Availability 16 (1)
Understanding Design Considerations 16 (2)
Choosing a Server 16 (2)
Summary 18 (3)
Chapter 2 • Building Your Toolbox 21 (24)
Capacity Planning Tools 21 (5)
VMware Capacity Planner 21 (1)
Microsoft Assessment and Planning 22 (1)
Toolkit
Using Capacity Planning Tools 22 (1)
Ongoing Capacity Management 23 (3)
Performance Analysis Tools 26 (8)
esxtop 26 (5)
vscsiStats 31 (3)
Performance Benchmarking Tools 34 (2)
VMmark 34 (1)
vBenchmark 35 (1)
Performance Simulation Tools 36 (6)
CPU/Memory 36 (2)
Storage 38 (3)
Network 41 (1)
Summary 42 (3)
Chapter 3 • The Test Lab 45 (18)
Why Build a Test Lab? 45 (10)
Test Changes before Applying in 46 (1)
Production
Test New Applications and Patches 47 (1)
Re-Create Production Problems 48 (2)
Simulate Performance Problems for 50 (1)
Troubleshooting
Benchmark New Hardware 51 (1)
Learn about Virtualization 51 (4)
Strategies for a Successful Test Lab 55 (3)
Build a Realistic Environment 55 (1)
Building the Lab 56 (2)
Use Proper Tools for Measurement 58 (1)
How to Build Your Lab 58 (3)
Test Objective 58 (1)
Lab Summary 58 (2)
Provisioning the Lab 60 (1)
Defining the Workload and Configuration 60 (1)
of IOmeter
Lab Postmortem 60 (1)
Summary 61 (2)
Chapter 4 CPU 63 (34)
Getting to Know the Basics of CPU 63 (6)
Virtualization
Understanding CPU Protected Mode in the 64 (1)
x86 Architecture
Defining the Types of CPU Virtualization 65 (3)
Distinguishing between Physical CPUs 68 (1)
and Virtual CPUs
Understanding vCPU States 68 (1)
Introducing the ESXi CPU Scheduler 69 (15)
Understanding the Proportional 69 (3)
Share-Based Algorithm
Understanding CPU Co-Scheduling 72 (1)
The CPU Scheduler Cell 73 (1)
Understanding CPU Topology-Aware Load 74 (8)
Balancing
Multicore-Aware Load Balancing 82 (2)
Sizing CPU for Virtual Machines 84 (2)
Considerations for vSMP 85 (1)
Considerations for NUMA and vNUMA 86 (1)
Hot Plug of CPU Resources 86 (1)
Understanding CPU Resource Management 86 (5)
Understanding CPU Reservations 87 (1)
Understanding CPU Limits 88 (1)
Configuring CPU Reservations and Limits 88 (1)
Understanding Resource Pools 88 (3)
Troubleshooting CPU Performance Problems 91 (4)
Using esxtop to Diagnose CPU 91 (2)
Performance Issues
High CPU Ready Time 93 (1)
High ESXi Host CPU Utilization 93 (2)
High Guest CPU Utilization 95 (1)
Summary 95 (2)
Chapter 5 • Memory 97 (34)
Getting to Know ESXi Memory Management 97 (4)
Memory Virtualization 98 (1)
Memory Management in ESXi 99 (2)
Hardware-Assisted MMU Virtualization 101(1)
Reclaiming Memory from VMs 101(14)
Transparent Page Sharing 102(1)
Ballooning 103(5)
Memory Compression 108(3)
Hypervisor Swapping 111(1)
Host SSD Cache Swapping 112(2)
Host Memory Reclamation 114(1)
Idle Page Reclamation 114(1)
Managing Virtual Machine Memory Allocation 115(8)
Working Set Size 116(1)
Proportional Share-Based Algorithm 116(5)
Sizing Memory for Virtual Machines 121(1)
Memory Overhead 122(1)
Memory Overcommitment 123(1)
Troubleshooting Memory Performance 123(7)
Problems
Using esxtop to Diagnose Memory 124(3)
Performance Issues
High VM Consumed Memory 127(1)
High Memory Ballooning 127(1)
Hypervisor Swapping 128(1)
Guest Operating System Swapping 129(1)
Summary 130(1)
Chapter 6 • Network 131(36)
Creating a Network Design 131(2)
Designing Your Physical Network 132(1)
Choosing a Virtual Switch 133(6)
Considering the Standard vSwitch 134(1)
Considering the vSphere Distributed 135(3)
Switch
Considering the Cisco Nexus 1000V 138(1)
dvSwitch
Which Virtual Switch Do I Choose? 138(1)
Selecting Host Hardware 139(3)
Host Server Type 139(2)
Network Adapters 141(1)
Designing for Performance 142(13)
ESXi Host-Level Performance 142(8)
Virtual Machine Performance 150(5)
Troubleshooting Networking Issues 155(10)
Slow Virtual Machine Networking 155(10)
Performance
Summary 165(2)
Chapter 7 • Storage 167(66)
Choosing Your Storage Platform 167(5)
Storage Area Networks 168(2)
Network File System 170(1)
Virtual SAN 171(1)
Designing Physical Storage 172(11)
Determine Your Requirements 172(3)
RAID Levels 175(5)
Flash Infrastructure Layer 180(1)
Networking for IP Storage 180(3)
Designing vSphere Storage 183(32)
Why Is Storage So Important? 183(1)
VAAI 184(3)
Storage I/O Control 187(4)
Storage Distributed Resource Scheduler 191(3)
Profile-Driven Storage 194(5)
Datastore Size 199(1)
vFlash Read Cache 200(9)
Virtual SAN 209(4)
Jumbo Frames for IP Storage 213(2)
Optimizing Virtual Machine Performance 215(7)
Raw Device Mapping vs. VMDK Files 215(1)
Virtual Disk Type 216(1)
Virtual SCSI Adapter 217(3)
Guest OS Disk Alignment 220(2)
Troubleshooting Storage Performance Issues 222(9)
Storage Latency 223(4)
Misconfigured Storage for Your 227(1)
Applications
Storage Queues 228(2)
End-to-End Networking 230(1)
Summary 231(2)
Index 233