Tabla de Contenidos

, ,

Optimizaciónes para VMWARE

Optimización de la red

Elementos que debemos cambiar

Al instalar el nuevo driver vmnet3 aparecen en el panel de control de las MV nuevas opciones de mejora.(TSO,TCO,jumbo frames)

en las MV con linux hay que cambiar las opciones a mano

TCO

Tcp Checksum Offset permite al adaptador de red hacer el mismo las operaciones de checksum, reduciendo la carga de la CPU física del host ESX por lo que mejora el rendimiento

TSO

Tcp Segmentation Offload reduce también la carga sobre la CPU física, mejorando el rendimiento. Por defecto está habilitada en el kernel si la tarjeta lo soporta.

si queremos comprobarlos ejecutamos desde la consola del ESX

esxcfg-vmknic -l 

y aparecerá una columna indicando si soporta TSO

desde el VMA no aparece la columna TSO

TSO puede se habilitado directamente en la MV, en windows dentro del panel de control→propiedades driver de red→opciones avanzadas. En linux usamos la herramienta ethtool

ethtool -K eth0 tso on 
si no aparece cambiar el driver de la MV por el driver por el vmxnet3

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2055140

NetQueue

Mejora el rendimiento en adaptadores 10GB ya que usa múltiples colas de transmisión y recepción para poder procesar I/O entre diferentes CPUs.

DirectPath I/O

Sirve para asignar una tarjeta de red del ESX directamente a una MV.

también podemos mapear directamente la mochila de protección de un programa, mediante Direcpath I/O

Para activar DirectPath I/O nos dirigimos al ESX→ Configuration→Advanced Settings y pinchamos sobre Configure Passthrough… y seleccionamos la tarjeta para que no sea usada por el kernel y así podersela asignar directamente a una MV

Optimizar el Almacenamiento

Hay que buscar cabinas que soporten VAAI ( VStorage APIs for Array Integration) ya que nos va proporcionar funcionalidades de aceleración por hardware que posibilitan realizar operaciones sobre la MV y el almacenamiento directamente en la cabina si cargar el host ESX

VAAI necesita:

Por defecto el ESX trae activada las opciones, pero para comprobarlo podemos ejecutar

esxcfg-advcfg -g /DataMover/HardwareAcceleratedMove
esxcfg-advcfg -g /DataMover/HardwareAcceleratedInit
esxcfg-advcfg -g /VMFS3/HardwareAcceleratedLocking

O bien mirar en el GUI los mismo parámetros en el ESX → Configuration →Advanced Settings

Para mirar rendieminto antes de hacer cambios podemos ejecutar esxtop desde la consola del ESX. Después para ver el disco presionamos la tecla U y presionando f elegimos las columnas ATSF (fallos en los bloqueos )y ATS (Bloqueos)

Para aumentar el rendimiento podemos cambiar ciertos parámetros:

A partir de la versión 4.x se usa ATF para bloquear una zona determinada de la LUN y no como anteriormente que se bloqueaba entera cada vez que la VM actualizaba el metadata l realizar cierta operaciones como crear o borrar snapshots.

PSA

VMware PSA (Pluggable Storage Architecture) es una serie de APIs a través de las cuales los fabricantes de cabinas pueden insertar su propio código para multipathing y/o balanceo de almacenamiento. Con ello lo que se consigue es una integración mucho mejor entre VMware y el sistema de almacenamiento de un determinado fabricante.

Está formada por varios componentes :

Si queremos ver las reglas que tenemos en nuestro ESX ejecutamos

esxcli corestorage claimrule list

Si queremos ver los PSP que tenemos

esxcli nmp psp list

http://blog.hispavirt.com/2010/09/29/vsphere-%C2%BFque-es-vmware-psa/

esxcli storage nmp path list

Si queremos cambiar el path por defecto para que todas la nuevas conexiones sean por defecto en round robin, ejecutamos el siguiente comando:

esxcli storage nmp satp set -s VMW_SATP_DEFAULT_AA -P VMW_PSP_RR

Si queremos cambiar las que ya existen

esxcli storage nmp device set -d <DEVICE> -P <PSP_NAME>

por ejemplo

esxcli storage nmp device set --device naa.xxx.xxx.xx --psp VMW_PSP_RR

Para sacar un listado

esxcli storage nmp satp list 
escli storage core device list

Para ver el pto de montaje y el UUID

escli storage filesystem list

Reescanear todos los adaptadores

esxcli storage core adapter rescan -a

Instalar drivers de terceros

Ciertos fabricantes incluyen sus propios drivers, para instalar dichos drivers ejecutamos

esxcli  software vib install 
esxcli storage nmp psp list 

<note> el driver nativo es nmp el cual incluye satp y psp </code>

Referencias

Optimización de la CPU

Lo primero que hay que tener en cuenta es que el scheduler de la CPU es crítico para obtener un buen rendimiento.

Las características

para ver el rendimiento usamos esxtop → c

MVv con prioridades altas entran antes a la CPU. Para cambiar la prioridad de la MV →edit settings de la MV →resources →shares →high

Contadores a mirar

Ready Time

esxtop →c → Campos D F

%RDY→ Porcentaje de tiempo que la VCPU espera a una CPU física este disponible. Si es >5 →mal. Si es >10% → Problema. Se soluciona normalmente añadiendo más CPU

%USED

Ciclos de CPU usados por la VM→ valores altos suele indicar problemas de rendimiento

%SWPWT

Porcentaje de tiempo de espera para leer páginas de swap del disco. Si %SWPWT>=5 Indica problemas de memory overcommitment

%MLMTD

Debe de ser menor igual a 0 . Si es mayor indica que hay puesta una limitación en settings. Para un mejor rendimiento habría que quitarla

%CSTP

Si el mayor de 3 decrementar el número de vCPUs de la MV

Para resolver problemas de saturación de CPU:

NUMA

Non Uniform Memory Architecture (NUMA). En NUMA, cada procesador tiene acceso directo a un trozo pequeño de memoria . Además, comparten el bus de memoria general para acceder a la memoria asignada a otro procesado.

En vmware si NUMA es menor del 80% → mal El contrador de NUMA se encuentra en la vista de esxtop de memoria → campos D G

Optimizar Memoria

En esxtop → m → campos B D J K Q

Memory Status

al mirar el estado de la memoria puede ser:

zip/s

Valores mayores de 0 indican que el host está comprimiendo memoria

unzip/s

Valores mayores de 0 indican que el host está accediendo a memoria comprimida

cacheUSD

Memoria en MB comprimida por el host ESXi

swcur

si es mayor de 0 indica que se está usando swap de disco

swr/s sww/s

Indica la velocidad de lectura o escritura a la memoria en swap

mctlsz

Cantidad de memoria física que el ESXi está reclamando por ballon driver. Si es mayor de 0 indica memory overcommitment

Herramientas

Referencias