resource governor 101
DESCRIPTION
Apresentação sobre a feature presente no SQL Server chamada Resource Governor, feita no SQL Saturday #325 em São Paulo no dia 27/09/2014TRANSCRIPT
![Page 2: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/2.jpg)
Agenda
O que é Resource Governor? Componentes do Resource Governor Prós e contras do Resource Governor DEMO Q&A Material de apoio
![Page 3: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/3.jpg)
O que é Resource Governor
Gerenciar cargas de trabalho
Isolar recursos
Controlar recursos do sistema
![Page 4: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/4.jpg)
Componentes do Resource Governor
Resource Pool
Workload
Workload
Workload
SQL Server 2008 pode ter até 18 Resource PoolsSQL Server 2012 e 2014
podem ter até 64 Resource Pools
![Page 5: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/5.jpg)
Componentes do Resource Governor
Você não pode alterar meus
parametros. Sou Independente
Eu decido, qual requisição vai para qual Workload Group
Eu decido o quanto de memoria e CPU você pode obter.
Se você não esta em nenhum grupo, então venha para o default!
Essa é a minha requisição
Com o SQL Server 2012 você pode
realmente limitar CPU!
Com o SQL Server 2014 você pode
controlar o numero de IOPS
![Page 6: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/6.jpg)
Single CPU Demo
![Page 7: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/7.jpg)
Multi-CPU Server
Servidor com multiplas CPU’s, não é algo novo.
Como o Resource Governor trabalha com multiplas CPU’s ? Resource Governor trabalha a nivel de CPU
Scheduler Threads
Sessions (requests)
![Page 8: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/8.jpg)
Multi CPU Demo
![Page 9: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/9.jpg)
9
Resource Governor - Pros
Run-away queries no servidor. Nesse cenário uma consulta que utiliza muitos recursos do servidor pode comprometer todo o ambiente.
Cargas de trabalho desconhecidas. Aplicações concorrentes podem ser controladas, limitando uma porção de memoria, CPU e IO.
Prioridades de execução do workload. Com a opção de workload priority conseguimos determinar que um workload pode ser executado mais rapido que outro, eliminando assim contenção dentro do proprio Resource Pool
![Page 10: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/10.jpg)
10
Resource Governor - Contras
Limitado apenas ao Database Engine, não podendo ser utilizado para Analysis Services, Integration Services, e Reporting Services.
Somente uma unica instancia pode ser gerenciada pela mesma. Em multiplas instancias, você precisa ter o Resource Governor configurado em cada uma delas.
Até o SQL Server 2014, só conseguimos controlar CPU, memory e IOPS.
Resource Governor está disponível somente nas versões Enterprise, Developer, e Edição de Avaliação
![Page 11: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/11.jpg)
11
Q&A Podemos limitar Jobs de Manutenção?
Resource Governor não realiza limitação quando não existe consume de recursos. Porem, a função classificadora, pode ser realizada através do program name.
Podemos limitar backups agendados e backups manuais? Se o backup é executado utilizando um usuario, podemos sim utilizá-lo. No SQL Server 2012 podemos utilizer
a propriedade CAP_CPU_PERCENT para limitar o uso de CPU, mesmo que não exista pressão de CPU.
Podemos limitar processos de aplicação, na qual são agendados regularmente? Ex: Relatórios ou Processos de archiving. Se o processo de relatório ou the archiving estão utilizando outro usuario, ou outro program name, então
podemos controlar utilizando RG. É importante lembrar que se nada estiver sendo executado na mesma CPU ou no mesmo volume, o SQL Server deixará a thread utilizar toda a CPU, memoria e IOPS necessario.
Podemos limitar processos de aplicação que utilizam grupos do AD? E nesse caso apenas durante o horario de negócio?? Podemos sim controlar utilizando grupos do AD, porem o RG não possui uma propriedade capaz de controlar
durante horarios especificos.
![Page 12: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/12.jpg)
Material de Apoio
Considerations for writing a classfier function http://technet.microsoft.com/en-us/library/bb933865(v=sql.105).aspx
Resource Governor http://msdn.microsoft.com/en-us/library/bb933866.aspx
Analyzing Characterizing and IO Size Considerations http://bit.ly/18nlbTh
Resource Governor Classifier Function http://msdn.microsoft.com/en-us/library/hh510208.aspx
![Page 13: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/13.jpg)
DÚVIDAS?
OBRIGADO!
E-mail: [email protected] Blog: http://marcosfreccia.wordpress.comTwitter: @sqlfreccia
![Page 14: Resource Governor 101](https://reader035.vdocuments.us/reader035/viewer/2022062405/5568eeedd8b42aff2e8b45d0/html5/thumbnails/14.jpg)
PATROCINADORES