2. Agenda
O que é Resource Governor?
Componentes do Resource Governor
Prós e contras do Resource Governor
DEMO
Q&A
Material de apoio
3. O que é Resource Governor
Gerenciar cargas de trabalho
Isolar recursos
Controlar recursos do sistema
4. SQL Server 2012 e 2014
Componentes do Resource Governor
Resource Pool
Workload
Workload
Workload
SQL Server 2008 pode ter
até 18 Resource Pools
podem ter até 64
Resource Pools
5. 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
7. 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)
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
9
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
10
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.
11
12. 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