O documento discute o Resource Governor do SQL Server, que permite gerenciar cargas de trabalho isolando recursos como CPU e memória em Resource Pools. O documento explica os componentes do Resource Governor, incluindo Resource Pools, Workload Groups e funções de classificação, e discute prós e contras de seu uso. Uma demonstração do Resource Governor é apresentada.
2. 2
Agenda
2
• O Que é Resource Governor?
• Componentes do Resource Governor
• Prós e contras do Resource Governor
• DEMO
• Q&A
3. 3
O que é o Resource Governor
3
• Gerenciar cargas de trabalho
• Isolar recursos
• Controlador de Recursos do sistema
4. 4
Componentes do Resource Governor
4
Resource Pool
Workload
Workload
Workload
SQL Server 2008 pode ter
até 18 Resource Pools
SQL Server 2012 e 2014
podem ter até 64
Resource Pools
5. 5
Componentes do Resource Governor – Classifier Function
5
Considerações System Functions
A função deve ter seu codigo executado rapidamente
A Implementação deve ser simples
Funções mal escritas podem levar ao time-out
Conexão DAC pode ser utilizada
HOST_NAME()
APP_NAME()
SUSER_NAME()
SUSER_SNAME()
IS_SRVROLEMEMBER()
IS_MEMBER()
CONNECTIONPROPERTY()
6. 6
Componentes do Resource Governor
6
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
8. 8
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
8
9. 9
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
9
10. 10
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.
10