Book Image

vSphere High Performance Cookbook

Book Image

vSphere High Performance Cookbook

Overview of this book

VMware vSphere is the key virtualization technology in today's market. vSphere is a complex tool and incorrect design and deployment can create performance-related problems. vSphere High Performance Cookbook is focused on solving those problems as well as providing best practices and performance-enhancing techniques. vSphere High Performance Cookbook offers a comprehensive understanding of the different components of vSphere and the interaction of these components with the physical layer which includes the CPU, memory, network, and storage. If you want to improve or troubleshoot vSphere performance then this book is for you! vSphere High Performance Cookbook will teach you how to tune and grow a VMware vSphere 5 infrastructure. This book focuses on tuning, optimizing, and scaling the infrastructure using the vSphere Client graphical user interface. This book will enable the reader with the knowledge, skills, and abilities to build and run a high-performing VMware vSphere virtual infrastructure. You will learn how to configure and manage ESXi CPU, memory, networking, and storage for sophisticated, enterprise-scale environments. You will also learn how to manage changes to the vSphere environment and optimize the performance of all vSphere components. This book also focuses on high value and often overlooked performance-related topics such as NUMA Aware CPU Scheduler, VMM Scheduler, Core Sharing, the Virtual Memory Reclamation technique, Checksum offloading, VM DirectPath I/O, queuing on storage array, command queuing, vCenter Server design, and virtual machine and application tuning. By the end of this book you will be able to identify, diagnose, and troubleshoot operational faults and critical performance issues in vSphere.
Table of Contents (15 chapters)
vSphere High Performance Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Performance impact of queuing on the storage array and host


There are several storage queues:

  • Device driver queue

  • Kernel queue

  • Storage array queue

The device driver queue is used for low-level interaction with the storage device. This queue controls the number of active commands that can be on a LUN at the same time. This number is effectively the concurrency of the storage stack. If you set the device queue to 1 then each storage command becomes sequential.

The kernel queue is an overflow queue for the device driver queues. This queue enables features that optimize storage (it doesn't include them; they are built using the queue). These features include multi-pathing for failover and load balancing, prioritization of storage activities, which is based on virtual machine and cluster shares, and optimizations to improve efficiency for long sequential operations.

For example, batching several incoming read requests and doing hashes 1, 4-7, and 14 together because they're all on nearby parts of the...