Skip to main content

VMware vSphere Performance: Designing CPU, Memory, Storage, and Networking for Performance-Intensive Workloads

VMware vSphere Performance: Designing CPU, Memory, Storage, and Networking for Performance-Intensive Workloads

Matt Liebowitz, Christopher Kusek, Rynardt Spies

ISBN: 978-1-118-23558-4 April 2014 264 Pages




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.

Related Resources


Request an Evaluation Copy for this title

Introduction xix

Chapter 1 • Performance Design 1

Starting Simple 2

Determine Parameters 2

Architect for the Application 3

Assess Physical Performance 3

Start with Defaults 3

Establishing a Baseline 4

Baseline CPU Infrastructure 4

Memory 6

Network 7

Storage 9

Architecting for the Application 11

Considering Licensing Requirements 12

Integrating Virtual Machines 13

Virtual Machine Scalability 13

vMotion 13

Distributed Resource Scheduler 15

High Availability 16

Understanding Design Considerations 16

Choosing a Server 16

Summary 18

Chapter 2 • Building Your Toolbox 21

Capacity Planning Tools 21

VMware Capacity Planner 21

Microsoft Assessment and Planning Toolkit 22

Using Capacity Planning Tools 22

Ongoing Capacity Management 23

Performance Analysis Tools 26

esxtop 26

vscsiStats 31

Performance Benchmarking Tools 34

VMmark 34

vBenchmark 35

Performance Simulation Tools 36

CPU/Memory 36

Storage 38

Network 41

Summary 42

Chapter 3 • The Test Lab 45

Why Build a Test Lab?  45

Test Changes before Applying in Production 46

Test New Applications and Patches. 47

Re-Create Production Problems 48

Simulate Performance Problems for Troubleshooting 50

Benchmark New Hardware 51

Learn about Virtualization 51

Strategies for a Successful Test Lab 55

Build a Realistic Environment 55

Building the Lab 56

Use Proper Tools for Measurement 58

How to Build Your Lab 58

Test Objective 58

Lab Summary 58

Provisioning the Lab 60

Defining the Workload and Configuration of IOmeter 60

Lab Postmortem 60

Summary 61

Chapter 4 • CPU 63

Getting to Know the Basics of CPU Virtualization 63

Understanding CPU Protected Mode in the x86 Architecture 64

Defining the Types of CPU Virtualization 65

Distinguishing between Physical CPUs and Virtual CPUs 68

Understanding vCPU States 68

Introducing the ESXi CPU Scheduler 69

Understanding the Proportional Share-Based Algorithm 69

Understanding CPU Co-Scheduling 72

The CPU Scheduler Cell 73

Understanding CPU Topology-Aware Load Balancing 74

Multicore-Aware Load Balancing 82

Sizing CPU for Virtual Machines 84

Considerations for vSMP 85

Considerations for NUMA and vNUMA 86

Hot Plug of CPU Resources 86

Understanding CPU Resource Management 86

Understanding CPU Reservations 87

Understanding CPU Limits 88

Configuring CPU Reservations and Limits 88

Understanding Resource Pools 88

Troubleshooting CPU Performance Problems 91

Using esxtop to Diagnose CPU Performance Issues 91

High CPU Ready Time 93

High ESXi Host CPU Utilization 93

High Guest CPU Utilization 95

Summary 95

Chapter 5 • Memory 97

Getting to Know ESXi Memory Management 97

Memory Virtualization 98

Memory Management in ESXi 99

Hardware-Assisted MMU Virtualization 101

Reclaiming Memory from VMs 101

Transparent Page Sharing 102

Ballooning 103

Memory Compression 108

Hypervisor Swapping 111

Host SSD Cache Swapping 112

Host Memory Reclamation 114

Idle Page Reclamation 114

Managing Virtual Machine Memory Allocation 115

Working Set Size 116

Proportional Share-Based Algorithm 116

Sizing Memory for Virtual Machines 121

Memory Overhead 122

Memory Overcommitment 123

Troubleshooting Memory Performance Problems 123

Using esxtop to Diagnose Memory Performance Issues 124

High VM Consumed Memory 127

High Memory Ballooning 127

Hypervisor Swapping 128

Guest Operating System Swapping 129

Summary 130

Chapter 6 • Network 131

Creating a Network Design 131

Designing Your Physical Network 132

Choosing a Virtual Switch 133

Considering the Standard vSwitch 134

Considering the vSphere Distributed Switch 135

Considering the Cisco Nexus 1000V dvSwitch 138

Which Virtual Switch Do I Choose? 138

Selecting Host Hardware 139

Host Server Type 139

Network Adapters 141

Designing for Performance 142

ESXi Host-Level Performance 142

Virtual Machine Performance 150

Troubleshooting Networking Issues 155

Slow Virtual Machine Networking Performance 155

Summary 165

Chapter 7 • Storage 167

Choosing Your Storage Platform 167

Storage Area Networks 168

Network File System 170

Virtual SAN 171

Designing Physical Storage 172

Determine Your Requirements 172

RAID Levels 175

Flash Infrastructure Layer 180

Networking for IP Storage 180

Designing vSphere Storage 183

Why Is Storage So Important? 183

VAAI 184

Storage I/O Control 187

Storage Distributed Resource Scheduler191

Profile-Driven Storage 194

Datastore Size 199

vFlash Read Cache 200

Virtual SAN 209

Jumbo Frames for IP Storage 213

Optimizing Virtual Machine Performance 215

Raw Device Mapping vs. VMDK Files 215

Virtual Disk Type 216

Virtual SCSI Adapter 217

Guest OS Disk Alignment 220

Troubleshooting Storage Performance Issues 222

Storage Latency 223

Misconfi gured Storage for Your Applications 227

Storage Queues 228

End-to-End Networking 230

Summary 231

Index 233