Hyper-V Recursos Rendimiento

Hyper-V Performance – Parte V – NUMA.

Para finalizar esta serie de Post hoy nos metemos con NUMA. Hago una breve introducción sobre esta serie de posts sobre Hyper-V Performance. Hemos hablado de los siguientes puntos:

  1. CPU.
  2. Memoria.
  3. Almacenamiento.
  4. Red.

Creo que primero trataremos de explicar qué es NUMA y para qué sirve. Si buscamos la definición canónica de NUMA, desde la Wikipedia nos dice que es «El acceso a memoria no uniforme». Yo me quedé como estaba y seguí buscando por internet.

0001Al final me quedo con esta difinición. «Sistema que realiza una asociación de memoria de uso a CPU con la finalidad de evitar cuellos de botella». Aqui os dejo un enorme post sobre Numa e Hyper-V, del gran Daniel Matey. Es de hace un par de años pero poco han cambiado las cosas.

Un detalle que me llamó la atención es como realiza la asociación CPU vs Memoria cada constructor. Como ejemplo:

  • Intel.- Asocia cada 4 Cores = 1 Nodo NUMA.
  • AMD.- Asocia cada 6 Cores = 1 Nodo NUMA.

Hyper-V, automáticamente utilizará la mejor opción posible y configurará la máquina virtual (VM) para optimizar la topologia existente NUMA. Los problemas aparecen cuando utilizamos memoria dinámica y cuando las VMs requieren mas memoria que la asignada a cada nodo NUMA.

Ahora, a lo nuestro, verificar y medir el rendimiento:

  • \Hyper-V Hypervisor Virtual Processor(*)% Remote RunTime.- El menor valor representará un buen rendimiento. Cuanto mas cercano a 0 mucho mejor.
  • \Hyper-V VM VID Partition(*)% Remote Physical Pages.- Lo ideal es que esté lo mas cercano posible a 0. Esto quiere decir que la VM estará utilizando únicamente recursos locales, de su nodo NUMA.

Otras recomendaciones que realiza Microsoft:

  • Los Componentes de integración (ICS) tienen que ser los recomendados/sugeridos dependiendo de la versión de Hyper-V donde esté alojada la VM.
  • Hyper-V debería ser el único rol habilitado en el Host.
  • Evitar tener una mezca del VMs con sus ICS y VM sin sus ICS, penalizará el rendimiento del Host.
  • No asignar mas de 2 procesadores a aquellas VM con sistema operativo 2003. (Esta me ha gustado mucho).
  • Por favor, no usuar «legacy network adapters» aumenta considerablemente el «Context Switching». Lo explicamos en el Post sobre red.

Ya queda menos.

Bibliografía.

Blog de Daniel Matey.

Blog de Aidan Finn.

Windows Server Blog Post 1 y Post 2.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *