2012-09-18 36 views
5

Azure adopta la noción de escala elástica y he podido lograr esto con mis Roles de trabajo. Sin embargo, cuando se trata de mis roles web (por ejemplo, aplicaciones MVC) No estoy seguro de qué monitorear (o cómo) para determinar cuando es un buen momento para subir (o descrease) el número de correr instancias. Supongo que necesito monitorear uno o varios contadores de rendimiento, pero no estoy seguro por dónde empezar.Definición del umbral de escala para Azure Web Roles

¿Alguien puede recomendar una mejor práctica para evaluar una carga de instancias de rol de MVC Web en relación con las decisiones de escala?

Respuesta

4

Esta pregunta es un poco abierta, ya que la supervisión suele ser específica de la aplicación. Una vez dicho esto:

Comience con medidas simples que consideraría en un servidor local, que representa los KPI para su aplicación. Por ejemplo: tal vez mire la utilización de la red. This TechNet article describe los contadores de rendimiento recopilados por System Center para Windows Azure. Por ejemplo:

  • aplicaciones ASP.NET Solicitudes/seg Bytes
  • interfaz de red
  • recibidos/seg
  • de interfaz de red Bytes enviados/seg
  • Procesador% tiempo de procesador total
  • DiscoLógico gratuito Megabytes
  • LogicalDisk% Espacio libre
  • Memoria disponible Megab ytes

Es posible que también desee ver el # de solicitudes en cola y solicitar el tiempo de espera.

La utilización de la red es interesante, ya que su NIC proporciona aprox. 100 Mbps por núcleo y podría terminar siendo un cuello de botella incluso cuando la CPU y otros recursos están subutilizados. Es posible que necesite escalar a más instancias para manejar escenarios de alto ancho de banda.

También: Tiendo a dar menos importancia a la utilización de la CPU, aunque es tan fácil de medir (y aparece con tanta frecuencia en los ejemplos). Ejecutar una CPU cerca de su capacidad es lo bueno por lo general, ya que está pagando y podría usar tanto como sea posible.

En cuanto a disminuyendo: Esto debe manejarse con más cuidado. El cálculo de Windows Azure se factura por hora. Si, por ejemplo, escala a una instancia extra a las 11:50 y vuelve a escalar a las 12:10, acaba de incurrir en dos horas de CPU. Además: no desea escalar, luego tomar nuevas medidas y decidir que puede volver a escalar nuevamente (creando efectivamente un pulso constante de instancias de adición y decremento). Para facilitar las cosas, considere el Bloque de aplicación de ajuste de escala automático (WASABi), que se encuentra en el Enterprise Library. Esto tiene todas las reglas de escala incorporadas (como las que acabo de mencionar) y es muy fácil de usar.

+0

Agregando a los excelentes comentarios de David, también considere usar servicios de escalamiento automático/monitoreo como AzureWatch @ http://www.paraleap.com Usando gráficos históricos puede ver qué métricas de la lista que David mencionó están siendo estresadas durante los períodos de alta carga - para que pueda crear reglas de escalamiento personalizadas basadas en esas – Igorek

Cuestiones relacionadas