SlideShare a Scribd company logo
1 of 6
Download to read offline
GPI.- Confidencial


El Resource Governor

Es una nueva funcionalidad del Sql Server 2008 Enterprise Edition.

La idea del Resource Governor es la de controlar las consultas que llegan desde una aplicación X
con el fin de que podamos asignarle algunos recursos (En este primer release de Sql Server 2008
podemos asignar recursos de procesador y memoria únicamente, no se descarta que
posteriormente se puedan asignar recursos de disco, entre otros.)

El funcionamiento del Resource Governor es relativamente sencillo, toda consulta que ingresa al
Sql Server es analizada por una función que se encarga de Clasificar dicha sentencia e indicarle a
qué grupo pertenece para su procesamiento, a dicho grupo se le asigna un pool de recursos para
su procesamiento.


Partes que componen el Resource Governor

Resource Pools: Son contenedores de los recursos de memoria y procesador que pueden ser
asignados a un grupo. Como se mencionó anteriormente es factible que más adelante se
incorporen nuevos recursos para el control. Cada Pool tiene dos partes, una parte no se traslapa
con otros pools lo que le permite indicarle un valor mínimo al recurso. La otra parte del Pool si es
compartida con otros Pools, esto permite definir un valor máximo de consumo para los recursos.

MIN o MAX para el CPU
MIN o MAX en porcentajes de memoria.

MIN representa la mínima disponibilidad de recursos garantizados para el CPU y la memoria, el MX
representa el tamaño máximo del Pool.

Existen dos Pool predefinidos
    • Internal Pool: Representa los recursos consumidos por Sql Server, no puede ser
        modificado, pero si puede ser monitoreado.
    • Default Pool: Incialmente solo contiene el default workload group, este pool no puede ser
        borrado pero si puede ser modificado y múltiples grupos pueden pertenecer a él. El
        default group no puede ser trasladado a ningún otro Pool.

Workload Groups: Son simples nombres que el DBA define para permitir que múltiples conexiones
compartan recursos definidos en un pool.
Al igual que los pools existen dos grupos predefinidos en Sql Server.
     • Internal Gruop: Utilizado por Sql Server a un novel interno, los usuarios no pueden agregar
         sesiones al grupo interno ni afectar la utilización de recursos. Al igual que el Internal Pool
         solamente puede ser monitoreado.
     • Default Group: Las sesiones que ingresen y que no tengan especificado un grupo son
         remitidas a este grupo, ya sea por un fallo en la función de clasificación o porque el grupo
         especificado en la función no exista.

Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
GPI.- Confidencial


      Función de Clasificación: Es la que se encarga de destinar las aplicaciones a su respectivo
      Workload Group, dicha función es aplicada a cada nueva sesión. La sesión se mantiene en el grupo
      hasta que la misma termine su ejecución. Solamente puede existir una función de clasificación
      activa en un determinado momento en el tiempo. Si no se define función de clasificación todas las
      nuevas sesiones son asignadas al grupo DEFAULT. Las funciones son básicamente lo mismo que
      una función definida por el usuario, utilizando funciones del sistema para determinar el grupo al
      que pertenecen, hablamos de funciones de sistema como las siguientes SUSER_NAME(),
      SUSER_SNAME(), IS_SRVROLEMEMBER(), LOGINPROPERTY, CONNECTIONPROPERTY, recordemos
      que todas estas funciones pueden ser aplicadas a una sesión que es el verdadero objetivo del
      resource governor.

      Diagrama del Resource Governor


                                                                    Sesiones




                                                                  Clasificación




Internal Group                     Grupo 1                                                                                             Default Group



Internal Pool                       Pool 1                                                                                                 Default Pool




                                             Grupo 2                        Grupo 3                       Grupo 4

                                           Aplicación 1                  Aplicación 2                  Aplicación 3




                                                                             Pool 2




      Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
GPI.- Confidencial


Interesante la teoría, ahora hagamos la práctica. Les recomiendo ir ejecutando los scripts uno a la
vez, no lo ejecuten en un solo batch.
El ejemplo lo que hace es crear un pool y un workload group para todas aquellas tareas que
ejecutaría un DBA desde el Managment Studio, puede utilizarse también para querys que vaya a
ejecutar un desarrollador y que nosotros no deseamos darle mas recursos de los necesarios para
que no consuma recursos del servidor de base de datos de forma innecesaria.


--Activa el resource governor si no está activo
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO


/****** Object: ResourcePool [DBA] Script Date: 04/17/2009 15:45:47
Crea el pool de recursos******/
CREATE RESOURCE POOL [DBA] WITH
                (min_cpu_percent=0,
                max_cpu_percent=55,
                min_memory_percent=1,
                max_memory_percent=25)

GO

/****** Object: WorkloadGroup [TUNNING] Script Date: 04/17/2009 15:46:19
Crea el grupo al que va a pertenecer las sesiones******/
CREATE WORKLOAD GROUP [TUNNING] WITH(group_max_requests=50,
                importance=Medium,
                request_max_cpu_time_sec=20,
                request_max_memory_grant_percent=25,
                request_memory_grant_timeout_sec=0,
                max_dop=0) USING [DBA];
GO

--Se crea la funcion de clasificacion para determinar la aplicacion cliente.

CREATE FUNCTION UfnClasificador() RETURNS SYSNAME
WITH SCHEMABINDING AS
BEGIN
DECLARE @grupo SYSNAME
IF (APP_NAME() LIKE 'Microsoft SQL Server Management Studio - Query')
        SET @grupo= 'TUNNING'
ELSE
        SET @grupo= 'default' RETURN @grupo
END;

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = [dbo].[UfnClasificador]);
Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
GPI.- Confidencial


GO


Una vez ejecutados los scripts y si abrimos el Managment Studio de Sql Server 2008 podemos
ejecutar sentencias y vamos a notar como realmente el consumo de recursos no sobrepasa los
límites establecidos por el resource governor. Desde el Performance Monitor seleccionamos el
contador SQLSERVER:Resource Pool Stats y luego seleccionamos el pool que deseamos monitorear
y presionamos el botón add. Una vez que presionamos el botón Ok iniciamos el proceso de
monitoreo que se presenta en las siguientes pantallas.




Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
GPI.- Confidencial




Pongamos atención a la línea de color verde que presenta un consumo de alrededor de 35% de
consumo de CPU, con algunos altos y bajos, si recordamos los parámetros definidos podemos
constatar que lo definimos con un valor máximo de 35% lo que obliga a la consulta a respetar ese
consumo de recursos. Vean que al final de la pantalla se muestra un incremento en el consumo,
esto se debe a que se modificó dentro de la pantalla de propiedades el valor máximo de consumo,
siendo ahora de un 55%.




Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
GPI.- Confidencial




Vista completa del monitoreo ya con el aumento de los recursos de procesador en un 55%.




Espero que les haya sido de utilidad dicho artículo.

Atte: Adrián Miranda Cordero, DBA, Gpi Consultores.




Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica

More Related Content

Similar to Sql tips 07_resource governor

Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidadDavid Herrero
 
Taller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcTaller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcjinkalel kalel
 
Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008wilder sanchez
 
Taller de habilidades-Windows Server 2012
Taller de habilidades-Windows Server 2012Taller de habilidades-Windows Server 2012
Taller de habilidades-Windows Server 2012jcausil1
 
USUARIOS profile en oracle base de datos
USUARIOS profile en oracle base de datosUSUARIOS profile en oracle base de datos
USUARIOS profile en oracle base de datosNelsonMamaniRamos
 
Usuarios grupos conceptos básicos
Usuarios grupos conceptos básicosUsuarios grupos conceptos básicos
Usuarios grupos conceptos básicoseduenlasiberia
 
Windows Server 2012- Taller de habilidades
Windows Server 2012- Taller de habilidadesWindows Server 2012- Taller de habilidades
Windows Server 2012- Taller de habilidadesjcausil1
 
Administracion de base de datos postgresql
Administracion de base de datos postgresqlAdministracion de base de datos postgresql
Administracion de base de datos postgresqlAlvaro Paz
 
Administracion de base de datos postgresql
Administracion de base de datos postgresqlAdministracion de base de datos postgresql
Administracion de base de datos postgresqlAlvaro Paz
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosITSON
 
Grupo#4 trabajo colaborativo2
Grupo#4 trabajo colaborativo2Grupo#4 trabajo colaborativo2
Grupo#4 trabajo colaborativo2ddiego7
 
Tema2 Administración y configuración de Windows. instalación remota
Tema2 Administración y configuración de Windows. instalación remotaTema2 Administración y configuración de Windows. instalación remota
Tema2 Administración y configuración de Windows. instalación remotasilviacm_
 
Presentacion backup recover - copia
Presentacion backup recover - copiaPresentacion backup recover - copia
Presentacion backup recover - copiaGonzalo del Pozo
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2netmind
 
Practica 2003 server_acitve_directory_fran_gavilan
Practica 2003 server_acitve_directory_fran_gavilanPractica 2003 server_acitve_directory_fran_gavilan
Practica 2003 server_acitve_directory_fran_gavilanTerrafx9
 
Caracteristicas windows server 2003_oscar_cruz
Caracteristicas windows server 2003_oscar_cruzCaracteristicas windows server 2003_oscar_cruz
Caracteristicas windows server 2003_oscar_cruzoscar_rubens1703
 

Similar to Sql tips 07_resource governor (20)

Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidad
 
Taller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcTaller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffc
 
Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008
 
Taller de habilidades-Windows Server 2012
Taller de habilidades-Windows Server 2012Taller de habilidades-Windows Server 2012
Taller de habilidades-Windows Server 2012
 
USUARIOS profile en oracle base de datos
USUARIOS profile en oracle base de datosUSUARIOS profile en oracle base de datos
USUARIOS profile en oracle base de datos
 
Usuarios grupos conceptos básicos
Usuarios grupos conceptos básicosUsuarios grupos conceptos básicos
Usuarios grupos conceptos básicos
 
Windows Server 2012- Taller de habilidades
Windows Server 2012- Taller de habilidadesWindows Server 2012- Taller de habilidades
Windows Server 2012- Taller de habilidades
 
Administracion de base de datos postgresql
Administracion de base de datos postgresqlAdministracion de base de datos postgresql
Administracion de base de datos postgresql
 
Administracion de base de datos postgresql
Administracion de base de datos postgresqlAdministracion de base de datos postgresql
Administracion de base de datos postgresql
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Grupo#4 trabajo colaborativo2
Grupo#4 trabajo colaborativo2Grupo#4 trabajo colaborativo2
Grupo#4 trabajo colaborativo2
 
Tema2 Administración y configuración de Windows. instalación remota
Tema2 Administración y configuración de Windows. instalación remotaTema2 Administración y configuración de Windows. instalación remota
Tema2 Administración y configuración de Windows. instalación remota
 
Presentacion backup recover - copia
Presentacion backup recover - copiaPresentacion backup recover - copia
Presentacion backup recover - copia
 
Monit optim iis6_2
Monit optim iis6_2Monit optim iis6_2
Monit optim iis6_2
 
Nagios
NagiosNagios
Nagios
 
Act. 8 gpo
Act. 8 gpoAct. 8 gpo
Act. 8 gpo
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2
 
Practica 2003 server_acitve_directory_fran_gavilan
Practica 2003 server_acitve_directory_fran_gavilanPractica 2003 server_acitve_directory_fran_gavilan
Practica 2003 server_acitve_directory_fran_gavilan
 
Workshop Técnicas Replicacion I
Workshop Técnicas Replicacion IWorkshop Técnicas Replicacion I
Workshop Técnicas Replicacion I
 
Caracteristicas windows server 2003_oscar_cruz
Caracteristicas windows server 2003_oscar_cruzCaracteristicas windows server 2003_oscar_cruz
Caracteristicas windows server 2003_oscar_cruz
 

More from Adrian Miranda

Azure SQL Data Warehouse desde cada_angulo
Azure SQL Data Warehouse desde cada_anguloAzure SQL Data Warehouse desde cada_angulo
Azure SQL Data Warehouse desde cada_anguloAdrian Miranda
 
Continuidad del Negocio con Azure SQL Database
Continuidad del Negocio con Azure SQL DatabaseContinuidad del Negocio con Azure SQL Database
Continuidad del Negocio con Azure SQL DatabaseAdrian Miranda
 
SQL Saturday319 - Extendiendo la Virtualización hacia la Nube
SQL Saturday319 - Extendiendo la Virtualización hacia la NubeSQL Saturday319 - Extendiendo la Virtualización hacia la Nube
SQL Saturday319 - Extendiendo la Virtualización hacia la NubeAdrian Miranda
 
En la Tierra o en la Nube. SQL Server desde cada ángulo
En la Tierra o en la Nube. SQL Server desde cada ánguloEn la Tierra o en la Nube. SQL Server desde cada ángulo
En la Tierra o en la Nube. SQL Server desde cada ánguloAdrian Miranda
 
Análisis de la Salud en una Base de Datos SQL Server
Análisis de la Salud en una Base de Datos SQL ServerAnálisis de la Salud en una Base de Datos SQL Server
Análisis de la Salud en una Base de Datos SQL ServerAdrian Miranda
 
SQL Server o SQL Azure. Escenarios de la vida real
SQL Server o SQL Azure. Escenarios de la vida realSQL Server o SQL Azure. Escenarios de la vida real
SQL Server o SQL Azure. Escenarios de la vida realAdrian Miranda
 
Herramientas Monitoreo SQL Server
Herramientas Monitoreo SQL Server Herramientas Monitoreo SQL Server
Herramientas Monitoreo SQL Server Adrian Miranda
 
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
SQL Saturday 254   10- Cosas que no se deben de hacer en una BDSQL Saturday 254   10- Cosas que no se deben de hacer en una BD
SQL Saturday 254 10- Cosas que no se deben de hacer en una BDAdrian Miranda
 
Manual de Instalación de Base de Datos
Manual de Instalación de Base de DatosManual de Instalación de Base de Datos
Manual de Instalación de Base de DatosAdrian Miranda
 
Respaldo y recuperacion
Respaldo y recuperacionRespaldo y recuperacion
Respaldo y recuperacionAdrian Miranda
 

More from Adrian Miranda (12)

Azure SQL Data Warehouse desde cada_angulo
Azure SQL Data Warehouse desde cada_anguloAzure SQL Data Warehouse desde cada_angulo
Azure SQL Data Warehouse desde cada_angulo
 
Continuidad del Negocio con Azure SQL Database
Continuidad del Negocio con Azure SQL DatabaseContinuidad del Negocio con Azure SQL Database
Continuidad del Negocio con Azure SQL Database
 
SQL Saturday319 - Extendiendo la Virtualización hacia la Nube
SQL Saturday319 - Extendiendo la Virtualización hacia la NubeSQL Saturday319 - Extendiendo la Virtualización hacia la Nube
SQL Saturday319 - Extendiendo la Virtualización hacia la Nube
 
En la Tierra o en la Nube. SQL Server desde cada ángulo
En la Tierra o en la Nube. SQL Server desde cada ánguloEn la Tierra o en la Nube. SQL Server desde cada ángulo
En la Tierra o en la Nube. SQL Server desde cada ángulo
 
Análisis de la Salud en una Base de Datos SQL Server
Análisis de la Salud en una Base de Datos SQL ServerAnálisis de la Salud en una Base de Datos SQL Server
Análisis de la Salud en una Base de Datos SQL Server
 
SQL Server o SQL Azure. Escenarios de la vida real
SQL Server o SQL Azure. Escenarios de la vida realSQL Server o SQL Azure. Escenarios de la vida real
SQL Server o SQL Azure. Escenarios de la vida real
 
Herramientas Monitoreo SQL Server
Herramientas Monitoreo SQL Server Herramientas Monitoreo SQL Server
Herramientas Monitoreo SQL Server
 
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
SQL Saturday 254   10- Cosas que no se deben de hacer en una BDSQL Saturday 254   10- Cosas que no se deben de hacer en una BD
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
 
Manual de Instalación de Base de Datos
Manual de Instalación de Base de DatosManual de Instalación de Base de Datos
Manual de Instalación de Base de Datos
 
Respaldo y recuperacion
Respaldo y recuperacionRespaldo y recuperacion
Respaldo y recuperacion
 
Primera forma normal
Primera forma normalPrimera forma normal
Primera forma normal
 
Taller Sql Server 1
Taller Sql Server 1Taller Sql Server 1
Taller Sql Server 1
 

Recently uploaded

PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 

Recently uploaded (20)

PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 

Sql tips 07_resource governor

  • 1. GPI.- Confidencial El Resource Governor Es una nueva funcionalidad del Sql Server 2008 Enterprise Edition. La idea del Resource Governor es la de controlar las consultas que llegan desde una aplicación X con el fin de que podamos asignarle algunos recursos (En este primer release de Sql Server 2008 podemos asignar recursos de procesador y memoria únicamente, no se descarta que posteriormente se puedan asignar recursos de disco, entre otros.) El funcionamiento del Resource Governor es relativamente sencillo, toda consulta que ingresa al Sql Server es analizada por una función que se encarga de Clasificar dicha sentencia e indicarle a qué grupo pertenece para su procesamiento, a dicho grupo se le asigna un pool de recursos para su procesamiento. Partes que componen el Resource Governor Resource Pools: Son contenedores de los recursos de memoria y procesador que pueden ser asignados a un grupo. Como se mencionó anteriormente es factible que más adelante se incorporen nuevos recursos para el control. Cada Pool tiene dos partes, una parte no se traslapa con otros pools lo que le permite indicarle un valor mínimo al recurso. La otra parte del Pool si es compartida con otros Pools, esto permite definir un valor máximo de consumo para los recursos. MIN o MAX para el CPU MIN o MAX en porcentajes de memoria. MIN representa la mínima disponibilidad de recursos garantizados para el CPU y la memoria, el MX representa el tamaño máximo del Pool. Existen dos Pool predefinidos • Internal Pool: Representa los recursos consumidos por Sql Server, no puede ser modificado, pero si puede ser monitoreado. • Default Pool: Incialmente solo contiene el default workload group, este pool no puede ser borrado pero si puede ser modificado y múltiples grupos pueden pertenecer a él. El default group no puede ser trasladado a ningún otro Pool. Workload Groups: Son simples nombres que el DBA define para permitir que múltiples conexiones compartan recursos definidos en un pool. Al igual que los pools existen dos grupos predefinidos en Sql Server. • Internal Gruop: Utilizado por Sql Server a un novel interno, los usuarios no pueden agregar sesiones al grupo interno ni afectar la utilización de recursos. Al igual que el Internal Pool solamente puede ser monitoreado. • Default Group: Las sesiones que ingresen y que no tengan especificado un grupo son remitidas a este grupo, ya sea por un fallo en la función de clasificación o porque el grupo especificado en la función no exista. Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
  • 2. GPI.- Confidencial Función de Clasificación: Es la que se encarga de destinar las aplicaciones a su respectivo Workload Group, dicha función es aplicada a cada nueva sesión. La sesión se mantiene en el grupo hasta que la misma termine su ejecución. Solamente puede existir una función de clasificación activa en un determinado momento en el tiempo. Si no se define función de clasificación todas las nuevas sesiones son asignadas al grupo DEFAULT. Las funciones son básicamente lo mismo que una función definida por el usuario, utilizando funciones del sistema para determinar el grupo al que pertenecen, hablamos de funciones de sistema como las siguientes SUSER_NAME(), SUSER_SNAME(), IS_SRVROLEMEMBER(), LOGINPROPERTY, CONNECTIONPROPERTY, recordemos que todas estas funciones pueden ser aplicadas a una sesión que es el verdadero objetivo del resource governor. Diagrama del Resource Governor Sesiones Clasificación Internal Group Grupo 1 Default Group Internal Pool Pool 1 Default Pool Grupo 2 Grupo 3 Grupo 4 Aplicación 1 Aplicación 2 Aplicación 3 Pool 2 Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
  • 3. GPI.- Confidencial Interesante la teoría, ahora hagamos la práctica. Les recomiendo ir ejecutando los scripts uno a la vez, no lo ejecuten en un solo batch. El ejemplo lo que hace es crear un pool y un workload group para todas aquellas tareas que ejecutaría un DBA desde el Managment Studio, puede utilizarse también para querys que vaya a ejecutar un desarrollador y que nosotros no deseamos darle mas recursos de los necesarios para que no consuma recursos del servidor de base de datos de forma innecesaria. --Activa el resource governor si no está activo ALTER RESOURCE GOVERNOR RECONFIGURE; GO /****** Object: ResourcePool [DBA] Script Date: 04/17/2009 15:45:47 Crea el pool de recursos******/ CREATE RESOURCE POOL [DBA] WITH (min_cpu_percent=0, max_cpu_percent=55, min_memory_percent=1, max_memory_percent=25) GO /****** Object: WorkloadGroup [TUNNING] Script Date: 04/17/2009 15:46:19 Crea el grupo al que va a pertenecer las sesiones******/ CREATE WORKLOAD GROUP [TUNNING] WITH(group_max_requests=50, importance=Medium, request_max_cpu_time_sec=20, request_max_memory_grant_percent=25, request_memory_grant_timeout_sec=0, max_dop=0) USING [DBA]; GO --Se crea la funcion de clasificacion para determinar la aplicacion cliente. CREATE FUNCTION UfnClasificador() RETURNS SYSNAME WITH SCHEMABINDING AS BEGIN DECLARE @grupo SYSNAME IF (APP_NAME() LIKE 'Microsoft SQL Server Management Studio - Query') SET @grupo= 'TUNNING' ELSE SET @grupo= 'default' RETURN @grupo END; ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = [dbo].[UfnClasificador]); Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
  • 4. GPI.- Confidencial GO Una vez ejecutados los scripts y si abrimos el Managment Studio de Sql Server 2008 podemos ejecutar sentencias y vamos a notar como realmente el consumo de recursos no sobrepasa los límites establecidos por el resource governor. Desde el Performance Monitor seleccionamos el contador SQLSERVER:Resource Pool Stats y luego seleccionamos el pool que deseamos monitorear y presionamos el botón add. Una vez que presionamos el botón Ok iniciamos el proceso de monitoreo que se presenta en las siguientes pantallas. Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
  • 5. GPI.- Confidencial Pongamos atención a la línea de color verde que presenta un consumo de alrededor de 35% de consumo de CPU, con algunos altos y bajos, si recordamos los parámetros definidos podemos constatar que lo definimos con un valor máximo de 35% lo que obliga a la consulta a respetar ese consumo de recursos. Vean que al final de la pantalla se muestra un incremento en el consumo, esto se debe a que se modificó dentro de la pantalla de propiedades el valor máximo de consumo, siendo ahora de un 55%. Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica
  • 6. GPI.- Confidencial Vista completa del monitoreo ya con el aumento de los recursos de procesador en un 55%. Espero que les haya sido de utilidad dicho artículo. Atte: Adrián Miranda Cordero, DBA, Gpi Consultores. Tel: (506) 297 8132 – 244-5849 | De la Basílica de Santo Domingo, Heredia; 200 mts norte y 900 mts este. Apto 103-1100, Costa Rica