Blog Agility

Configuração do SQL Server AWE e Max Degree of Parallelism

Configuração do SQL Server AWE e Max Degree of Parallelism

 

Um dos grandes pesadelos para os administradores de banco de dados é o desempenho do servidor. Quem não fica de cabelo em pé quando aquela Query com um select em uma tabela de pouco mais de 100 registros demora mais de 10 segundos para executar?

O objetivo deste documento é mostrar como habilitar o AWE e o Max Degree of Parallelism para melhorar o desempenho do servidor de SQL Server.

As configurações abaixo aplicam-se ao Microsoft SQL Server 2008 e Microsoft SQL Server 2008 R2.

Lembre-se toda alteração deve ser feita primeiramente no ambiente de homologação para validar se não causará nenhum impacto que inviabilize o uso dessas opções. Seja cauteloso. Não se arrisque aplicando as alterações propostas nesse documento diretamente no ambiente de produção.

Para realizar as configurações descritas abaixo você precisará das seguintes permissões:

  • Ter uma conta válida no Active Directory.
  • Ter uma conta válida no SQL Server (conta de dominio ou local).
  • Fazer parte do grupo SysAdmin do SQL Server.
  • Fazer parte do grupo Administradores locais (caso o acesso ao SQL Server seja feito através do servidor)

A configuração acontece em 3 (três) etapas, que são elas:

  1. Acessar o servidor do Microsoft SQL Server através do Management Studio.
  2. Configuração do AWE.
  3. Configuração do Max Degree of Parallelism.

Utilizando uma conta válida no Active Directory e com as devidas permissões (conforme citadas anteriormente) acesse o servidor ou a estação de trabalho que possua instalado o SQL Server Management Studio que será utilizado para acesso ao servidor de banco de dados.

2013_10_CleberBastos_Configuracao_do_SQL_Server_AWE_E_Parallelism_v1_01
Figura 1 – Acessando o servidor do Microsoft SQL Server

Após acessar o servidor ou estação de trabalho acesse o Microsoft SQL Server Management Studio. Para isso clique em iniciar, todos os programas, Microsoft SQL Server e então clique em SQL Server Management Studio.

No campo Server Type selecione a opção Database Engine.
No campo Server Name entre com o nome do servidor do Microsoft SQL Server e caso esteja no mesmo servidor utilizado para acesso ao SQL Server Management Studio selecione a opção (Local).
No campo Authentication selecione a opção Windows Authentication caso a conta utilizada para acesso ao servidor tenha as permissões de acesso ao Microsoft SQL Server. Caso o acesso seja realizado com uma conta SQL selecione a opção SQL Server Authentication e então clique no botão Connect para acessar o servidor SQL.

2013_10_CleberBastos_Configuracao_do_SQL_Server_AWE_E_Parallelism_v1_02 (1)
Figura 2 – Acessando o Microsoft SQL Server

Com o SQL Server Management Studio aberto clique no botão New Query   (localizado no canto superior esquerdo da ferramenta de acesso ao banco de dados). Uma nova tela com o prompt de comando será apresentada e o cursor será posicionado no inicio da primeira linha e ficará aguardando você digitar o comando.

2013_10_CleberBastos_Configuracao_do_SQL_Server_AWE_E_Parallelism_v1_03
Figura 3 – Novo Prompt de Comando do SQL Server Management Studio
No Prompt de comando do SQL Server Management Studio digite o comando Exec sp_configure ‘show advanced options’, 1. Pressione a tecla enter e digite o comando GO. Feito isso pressione a tecla F5 para executar a Query. Verifique no canto inferior esquerdo que a Query foi executada com sucesso.

2013_10_CleberBastos_Configuracao_do_SQL_Server_AWE_E_Parallelism_v1_04
Figura 4 – Alterando o Show Advanced Options
Clique no botão New Query   localizado no canto superior esquerdo da ferramenta de acesso ao banco de dados. Uma nova tela com o prompt de comando será apresentada e o cursor será posicionado no inicio da primeira linha e ficará aguardando você digitar o comando.

2013_10_CleberBastos_Configuracao_do_SQL_Server_AWE_E_Parallelism_v1_05
Figura 5 – Novo Prompt de Comando do SQL Server Management Studio
No Prompt de comando do SQL Server Management Studio digite o comando Exec sp_configure ‘awe enabled’, 1. Pressione a tecla enter e digite o comando GO, feito isso pressione a tecla F5 para executar a Query.  Verifique no canto inferior esquerdo que a Query foi executada com sucesso.

2013_10_CleberBastos_Configuracao_do_SQL_Server_AWE_E_Parallelism_v1_06
Figura 6 – Alterando o awe enabled

Clique no botão New Query   localizado no canto superior esquerdo da ferramenta de acesso ao banco de dados. Uma nova tela com o prompt de comando será apresentada e o cursor será posicionado no inicio da primeira linha e ficará aguardando você digitar o comando.

2013_10_CleberBastos_Configuracao_do_SQL_Server_AWE_E_Parallelism_v1_07
Figura 7 – Novo Prompt de Comando do SQL Server Management Studio
No Prompt de comando do SQL Server Management Studio digite o comando Exec sp_configure ‘max degree of parallelism’, 4; pressione a tecla enter e digite o comando GO. Feito isso pressione a tecla F5 para executar a Query.  Verifique no canto inferior esquerdo que a Query foi executada com sucesso.

2013_10_CleberBastos_Configuracao_do_SQL_Server_AWE_E_Parallelism_v1_08
Figura 8 – Alterando o Max Degree of Parallelism

 

Apesar do lançamento e consolidação de arquiteturas de 64 bits, a quantidade de sistemas de 32 bits ainda é grande. É preciso compreender o funcionamento do subsistema de memória para tirar melhor proveito dos recursos, aumentando a confiabilidade e o desempenho dos sistemas atuais. O AWE permite um melhor gerenciamento da memoria em sistemas de 32 bits.

Com o Max Degree of Parallelism você consegue garantir que o Microsoft  SQL Server utilizará todos os núcleos de processadores disponíveis no servidor aumentando assim o desempenho do banco de dados. Outras consideração a serem feitas ao medir o desempenho do servidor de banco de dados incluem largura de banda do adaptador de rede, arquitetura do sistema operacional (32 ou 64 bits) e principalmente desempenho dos discos rígidos instalados no servidor.

Uma boa pratica é sempre manter os arquivos do banco de dados em discos separados, um disco para o arquivo de LOG e outro para o arquivo de Banco de Dados.