azure azure-sql-database azure-storage azure-monitoring

Métrica "porcentaje de DTU" de Azure SQL Database



azure-sql-database azure-storage (4)

A partir de este documento, este porcentaje de DTU está determinado por esta consulta:

SELECT end_time, (SELECT Max(v) FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), (avg_log_write_percent)) AS value(v)) AS [avg_DTU_percent] FROM sys.dm_db_resource_stats;

parece el máximo de avg_cpu_percent , avg_data_io_percent y avg_log_write_percent

Referencia:

https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-resource-stats-azure-sql-database

Con la nueva estructura de niveles de Azure SQL Database , parece importante monitorear el uso de la "DTU" de la base de datos para saber si se debe actualizar o degradar a otro nivel.

Al leer niveles de rendimiento y niveles de rendimiento de la base de datos SQL de Azure , solo se habla de la supervisión con el uso de porcentaje de CPU, datos y registro.

Pero, cuando agrego nuevas métricas, también tengo una opción de porcentaje de DTU :

No puedo encontrar nada sobre esto en línea. ¿Es esto esencialmente un resumen de las otras métricas relacionadas con DTU?


DTU no es más que una combinación de CPU, memoria e IO. ¿Por qué necesitamos una mezcla cuando estos 3 son bastante claros? Porque queremos una unidad de poder. Pero sigue siendo confuso en muchos sentidos. Por ejemplo: si simplemente aumento la memoria, ¿aumentará la potencia (DTU)? En caso afirmativo, ¿cómo puede ser una mezcla DTU? Es un si. En este caso de aumento de memoria, según la consulta en la respuesta dada por jyong, la DTU será equivalente a la memoria (ya que la aumentamos). MS tiene incluso un modelo de precios basado en esta DTU y planteó muchas preguntas.

Debido a estas confusiones y preguntas, MS quería traer otra opción. Ya teníamos algunas especificaciones en las instalaciones, ¿por qué no podemos usarlas? Como resultado, nació el ''modelo de precios vCore''. En este modelo tenemos visibilidad para RAM y CPU. Pero no en el modelo DTU.

El argumento contrario de DTU sería que las medidas de DTU se calibran utilizando un punto de referencia que simula la carga de trabajo de la base de datos del mundo real. Y que ya no estamos en las instalaciones;). Sí, está diseñado teniendo en cuenta la computación en la nube (pero también se usa en cargas de trabajo OLTP).

Pero eso no es todo. Ahora que estamos entrando en el modelo de precios, la ecuación cambia. La pregunta ahora es sobre el dinero y el paquete (qué características están incluidas). Aquí la DTU tiene algunas ventajas (tal como lo veo), pero las empresas con muchas licencias existentes no estarían de acuerdo.

  • DTU tiene un precio (Compute + Storage + Backup). Más simple y puede comenzar con precios más bajos.
  • vCore tiene diferentes precios (Compute, Storage). Garantía de software disponible aquí. Las empresas tendrán licencias en las instalaciones, esto se puede portar fácilmente aquí (por lo que obtienen máquinas grandes por menos precio que el modelo DTU).

Podemos cambiar entre ambos cuando sea necesario, por lo que si no está seguro, comience con DTU (Básico / Estándar / Premium).

¿Cómo podemos saber qué nivel de precios usar? Vaya al menú de configuración como se indica a continuación: (a la derecha / izquierda puede cambiar entre ambos)

Aunque Vcore es una ''máquina'' más grande y para cosas más grandes, el costo a veces puede ser más barato para las organizaciones empresariales. Aquí hay una prueba. DTU cuesta $ 147. Pero Vcore cuesta $ 111. Esto se debe a que puede comprometerse durante 3 años (pero aún pagar mensualmente) y también debido a la opción de reutilización de licencias (las empresas tendrán licencias locales).

Es un poco demasiado que responder una pregunta directa, pero voy a seguir adelante y completar esto respondiendo ''cómo elegir entre diferentes opciones en DTU y mucho menos elegir entre DTU y vCore''. Esto se responde en este hermoso blog y este diagrama de flujo lo explica todo



Una DTU es una unidad de medida para el rendimiento de un nivel de servicio y es un resumen de varias características de la base de datos. Cada nivel de servicio tiene un cierto número de DTU asignadas como una manera fácil de comparar el nivel de rendimiento de un nivel versus otro.

Unidad de rendimiento de la base de datos (DTU): las DTU proporcionan una forma de describir la capacidad relativa de un nivel de rendimiento de las bases de datos básica, estándar y premium. Las DTU se basan en una medida combinada de CPU, memoria, lecturas y escrituras. A medida que aumentan las DTU, aumenta la potencia que ofrece el nivel de rendimiento. Por ejemplo, un nivel de rendimiento con 5 DTU tiene cinco veces más potencia que un nivel de rendimiento con 1 DTU. Se aplica una cuota máxima de DTU a cada servidor.

La cuota de DTU se aplica al servidor, no a las bases de datos individuales, y cada servidor tiene un máximo de 1600 DTU. El% de DTU es el porcentaje de unidades que utiliza su base de datos particular y parece que este número puede superar el 100% de la calificación de DTU del nivel de servicio (supongo que hasta el límite del servidor). Este número de porcentaje está diseñado para ayudarlo a elegir el nivel de servicio apropiado.

Desde abajo hacia el final de este anuncio :

Por ejemplo, si su consumo de DTU muestra un valor del 80%, indica que está consumiendo DTU a una tasa del 80% del límite que tendría una base de datos S2. Si ve valores superiores al 100% en esta vista, significa que necesita un nivel de rendimiento mayor que S2.

Como ejemplo, supongamos que ve un valor porcentual del 300%. Esto le indica que está utilizando tres veces más recursos de los que estaría disponible en un S2. Para determinar un tamaño inicial razonable, compare las DTU disponibles en un S2 (50 DTU) con los siguientes tamaños superiores (P1 = 100 DTU, o 200% de S2, P2 = 200 DTU o 400% de S2). Debido a que está al 300% de S2, querrá comenzar con un P2 y volver a realizar la prueba.