Compartir vía


Administración de cargas de trabajo en Analytics Platform System

Las funcionalidades de administración de cargas de trabajo de PDW de SQL Server permiten a los usuarios y administradores asignar solicitudes a configuraciones preestablezcas de memoria y simultaneidad. Utiliza la gestión de cargas de trabajo para mejorar el rendimiento de tu carga de trabajo, ya sea coherente o mixta, permitiendo que las solicitudes dispongan de los recursos adecuados sin dejar ninguna solicitud desatendida de forma permanente.

Por ejemplo, con las técnicas de administración de cargas de trabajo en SQL Server PDW, podría:

  • Asigne un gran número de recursos a un trabajo de carga.

  • Especifique más recursos para crear un índice columnstore.

  • Solucione una combinación hash que funciona lentamente para ver si necesita más memoria, y asígnale más memoria.

Conceptos básicos de administración de cargas de trabajo

Términos clave

Administración de cargas de trabajo
administración de cargas de trabajo es la capacidad de comprender y ajustar el uso de recursos del sistema para lograr el mejor rendimiento para las solicitudes simultáneas.

Clase de recurso
En SQL Server PDW, una clase de recurso es un rol de servidor integrado que tiene límites previamente asignados para la memoria y la simultaneidad. SQL Server PDW asigna recursos a las solicitudes según la pertenencia al rol de servidor de clase de recursos del inicio de sesión que envía las solicitudes.

En los nodos de proceso, la implementación de clases de recursos usa la característica Resource Governor en SQL Server. Para obtener más información sobre Resource Governor, consulte resource Governor en MSDN.

Descripción del uso actual de recursos

Para comprender el uso de recursos del sistema para las solicitudes actualmente en ejecución, use las vistas de administración dinámica de PDW de SQL Server. Por ejemplo, puede usar las DMVs para comprender si un hash join grande que se ejecuta lentamente podría beneficiarse al tener más memoria.

Ajustar asignaciones de recursos

Para ajustar el uso de recursos, cambie la membresía de clase de recursos del usuario que envía la solicitud. Los roles de servidor de clases de recursos se denominan medio rc, grande rc, y extra grande rc. Representan asignaciones de recursos medianas, grandes y adicionales, respectivamente.

Por ejemplo, para asignar una gran cantidad de recursos del sistema a una solicitud, agregue el inicio de sesión que envía la solicitud al rol de servidor largerc. La siguiente instrucción ALTER SERVER ROLE agrega el inicio de sesión de Anna al rol de servidor más grande.

ALTER SERVER ROLE largerc ADD MEMBER Anna;  

Descripciones de clase de recursos

En la tabla siguiente se describen las clases de recursos y sus asignaciones de recursos del sistema.

Clase de recurso Importancia de la solicitud Uso máximo de memoria* Ranuras de concurrencia (máximo = 32) Descripción
default Media 400 MB 1 De forma predeterminada, cada inicio de sesión permite una pequeña cantidad de memoria y recursos de simultaneidad para sus solicitudes.

Cuando se agrega un inicio de sesión a una clase de recurso, la nueva clase tiene prioridad. Cuando se elimina un inicio de sesión de todas las clases de recursos, el inicio de sesión vuelve a la asignación de recursos predeterminada.
MediumRC Media 1200 MB 3 Ejemplos de solicitudes que podrían necesitar la clase de recursos media:

Operaciones de CTAS que tienen combinaciones hash grandes.

Operaciones SELECT que necesitan más memoria para evitar el almacenamiento en caché en el disco.

Carga de datos en índices de almacén de columnas agrupados.

Creación, reconstrucción y reorganización de los índices columnstore agrupados para tablas más pequeñas que tienen 10-15 columnas.
Largerc Alto 2,8 GB 7 Ejemplos de solicitudes que podrían necesitar la clase de recursos de gran tamaño:

Operaciones CTAS muy grandes que tienen combinaciones hash enormes o contienen agregaciones grandes, como cláusulas ORDER BY o GROUP BY grandes.

Operaciones SELECT que requieren cantidades muy grandes de memoria para operaciones como combinaciones hash o agregaciones, como las cláusulas ORDER BY o GROUP BY.

Carga de datos en índices de almacén de columnas agrupados.

Creación, regeneración y reorganización de índices de almacén de columnas agrupados para tablas más pequeñas que tienen 10-15 columnas.
xlargerc Alto 8,4 GB 22 La clase de recursos extra grandes es para las solicitudes que podrían requerir un consumo muy alto de recursos en tiempo de ejecución.

*Uso máximo de memoria es una aproximación.

Importancia de la solicitud

La importancia de la solicitud se asigna a la cantidad de tiempo de CPU que SQL Server, que se ejecuta en los nodos de cálculo, asignará a las solicitudes. Las solicitudes con mayor prioridad reciben más tiempo de CPU.

Uso máximo de memoria

El uso máximo de memoria es la cantidad máxima de memoria disponible que una solicitud puede usar dentro de cada espacio de procesamiento. Por ejemplo, una solicitud mediumrc puede usar hasta 1200 MB para su procesamiento dentro de cada distribución. Todavía es importante asegurarse de que los datos no están sesgados para evitar que algunas distribuciones realicen la mayor parte del trabajo.

Espacios de concurrencia

El objetivo de asignar 1, 3, 7 y 22 ranuras de simultaneidad es permitir que los procesos grandes y pequeños se ejecuten al mismo tiempo, sin bloquear el proceso pequeño cuando se ejecuta un proceso grande. Por ejemplo, SQL Server PDW puede asignar un máximo de 32 ranuras de simultaneidad para ejecutar 1 solicitud adicional grande (22 ranuras), 1 solicitud grande (7 ranuras) y 1 solicitud media (3 ranuras) al mismo tiempo.

Ejemplos de asignación de hasta 32 espacios de concurrencia para solicitudes simultáneas.

  • 28 ranuras = 4 grandes

  • 30 ranuras = 10 medios

  • 32 ranuras = 32 valores predeterminados

  • 32 ranuras = 1 extra grande + 1 grande + 1 mediano

  • 32 ranuras = 2 grandes + 4 medianos + 6 valores predeterminados

Supongamos que 6 solicitudes grandes se envían a SQL Server PDW y, a continuación, se envían 10 solicitudes predeterminadas. SQL Server PDW procesará las solicitudes en orden de prioridad de la siguiente manera:

  • Asigne 28 ranuras de simultaneidad para empezar a procesar 4 solicitudes grandes a medida que la memoria esté disponible y mantenga dos solicitudes grandes en la cola.

  • Asigne 4 ranuras de simultaneidad para empezar a procesar 4 solicitudes predeterminadas y mantener 6 solicitudes predeterminadas en la cola de espera.

A medida que las solicitudes finalizan y las ranuras de simultaneidad están disponibles, SQL Server PDW asignará las solicitudes restantes según los recursos disponibles y la prioridad. Por ejemplo, cuando hay 7 ranuras de concurrencia abiertas, las solicitudes grandes en espera tendrán mayor prioridad para las 7 ranuras que las solicitudes medianas en espera. Si se abren 6 ranuras, SQL Server PDW asignará 6 solicitudes de tamaño predeterminado más. Sin embargo, todas las ranuras de memoria y simultaneidad deben estar disponibles antes de que SQL Server PDW permita que se ejecute una solicitud.

Dentro de cada clase de recurso, las solicitudes se ejecutan en orden de primero en entrar, primero en salir (FIFO).

Observaciones generales

Si un login es miembro de más de una clase de recursos, la clase con más recursos tiene prioridad.

Cuando se agrega o quita un inicio de sesión de una clase de recurso, el cambio surte efecto inmediatamente para todas las solicitudes futuras; las solicitudes actuales que se están ejecutando o esperando no se ven afectadas. El inicio de sesión no necesita desconectar y volver a conectarse para que se produzca el cambio.

Para cada inicio de sesión, la configuración de la clase de recurso se aplica a instrucciones y operaciones individuales, y no a la sesión.

Antes de que SQL Server PDW ejecute una instrucción , intenta adquirir las ranuras de simultaneidad necesarias para la solicitud. Si no puede adquirir suficientes ranuras de simultaneidad, SQL Server PDW mueve la solicitud a un estado de espera-to-be-ejecutado. Todos los recursos del sistema que ya se asignaron para la solicitud se devuelven al sistema inicial.

La mayoría de las instrucciones SQL siempre necesitan las asignaciones de recursos predeterminadas y, por lo tanto, no las controlan las clases de recursos. Por ejemplo, CREATE LOGIN solo necesita una pequeña cantidad de recursos, y se le asignan los recursos predeterminados incluso si el inicio de sesión que llama a CREATE LOGIN es miembro de una clase de recursos. Por ejemplo, si Anna es miembro de la clase de recursos más grande y envía una instrucción CREATE LOGIN, la instrucción CREATE LOGIN se ejecutará con el número predeterminado de recursos.

Instrucciones SQL y operaciones reguladas por clases de recursos:

  • ALTER INDEX REBUILD

  • ALTER INDEX REORGANIZE

  • ALTER TABLE REBUILD

  • CREAR ÍNDICE AGRUPADO

  • CREATE CLUSTERED COLUMNSTORE INDEX

  • CREATE TABLE AS SELECT

  • CREAR TABLA REMOTA COMO SELECT

  • Carga de datos con dwloader.

  • INSERT-SELECT

  • ACTUALIZAR

  • Delete

  • RESTORE DATABASE al restaurar en un dispositivo con más nodos de computación.

  • SELECT, excepto las consultas solo para DMV

Limitaciones y restricciones

Las clases de recursos rigen las asignaciones de memoria y simultaneidad. No rigen las operaciones de entrada y salida.

Metadatos

DMVs que contienen información sobre las clases de recursos y los miembros de clase de recursos.

DMV que contienen información sobre el estado de las solicitudes y los recursos que requieren:

Vistas del sistema relacionadas expuestas desde las DMV de SQL Server en los nodos de cálculo. Consulte vistas de administración dinámica de SQL Server para obtener vínculos a estas DMV en MSDN.

  • sys.dm_pdw_nodes_resource_governor_resource_pools

  • sys.dm_pdw_nodes_resource_governor_workload_groups

  • sys.dm_pdw_nodes_resource_governor_resource_pools

  • sys.dm_pdw_nodws_resource_governor_workload_groups

  • sys.dm_pdw_nodes_exec_sessions

  • sys.dm_pdw_nodes_exec_requests

  • sys.dm_pdw_nodes_exec_query_memory_grants

  • sys.dm_pdw_nodes_exec_query_resource_semaphores

  • sys.dm_pdw_nodes_os_memory_brokers

  • sys.dm_pdw_nodes_os_memory_cache_entries

  • sys.dm_pdw_nodes_exec_cached_plans

Tareas relacionadas

Tareas de administración de cargas de trabajo