一 调优的两个方面
1 Nova configuration
2 kvm
二 Compute Performance Bottlenecks
I/O :
All instances use local file system to host file systems. Scarce
resources as more instances are run per server by increasing cores.
First to be hit.
Memory/RAM:
Second factor to be hit after disks. Most VMs use RAM more extensively
than CPU. With increasing cores and larger VMs RAM contention becomes a
problem
CPU:
Usually the last to be hit. Not as much of a problem any more because of Hyper threading and multiple cores.
三 Nova Configuration to avoid bottlenecks
Flavors:
Only allow sensible Flavors for the users. Example on a compute node
with 8 CPU cores and 96 GB ram avoid creating a Flavors that uses 1 vCPU
and 64 GB RAM
Quotas:
Used to limit the number of resources used by a particular tenant:
number of instances, block volume number and space, or number of
snapshots and images kept in Glance. Consider the potential number of
tenants and available hardware.
Over provisioning:
Use technologies like thin provisioning, hyper threading to over
provision resources but have to be careful about performance hits.
四 Choice of Hypervisor
KVM
Xen
Hyper-V
VMWare ESXi
五 Optimzing KVM
Kernel I/O scheduler to “Deadline”.
Default is cfq, good enough for most work loads but for over provisioning use “deadline”
Huge pages enabled
Kernel same-page merging enabled (KSM)
Hyper threading turned on
Place guest file systems directly on hypervisor block devices instead of in files.
六 Deadline scheduler
七 Huge Pages
There are couple of important benefits of Huge Pages:
Page size is set 2MB instead of 4KB
Memory used by Huge Pages is locked and cannot be swapped.
八 kernel Same-page merging
The ksm tuned process work in the following way:
scans through the memory finding duplicate pages
Merges duplicate page to single page
Map to all virtual machine locations
Set copy on write
Separate page when individual guests write to it.