Usuário com melhor resposta
Processador SQL Server

Pergunta
-
Olá Pessoal bom dia,
Tenho um servidor Windows 2008R2, com SQL Server 2012, neste servidor tem um RAID 10 apenas para o SQL Server, com 4 discos SAS 15k, e 3 discos em RAID 5 apenas para o sistema operacional, - 20 GB de RAM - e é um 2 Quad Core, ( E5530 - XEON - 2.4 GHZ), o servidor é um Dell 410.
Enfim, o que eu gostaria de saber nisso tudo é, se na instalação padrao o SQL Server usa todos os processadores, ou se se existe alguma forma de setar para o SQL Server usar todos os processadores.
Uma segunda questão é se essa configuração é realmente ideal para o meu cenario, onde tenho um banco com 30 GB, e existem na empresa 100 funcionarios que fazem acesso ao banco atraves de uma aplicação IIS.
As vezes algum processador fica trabalhando a 100%, logicamente que nao fica muito tempo a 100%, mas queria a opinião dos colegas.
Obrigada
Respostas
-
Jefferson,
Isso mesmo, quando utilizamos o padrão do Affinity Mask o SQL Server em conjunto com o Sistema Operacional foi definir e utilizar a melhor forma possível de alocação de recursos e carga de processamento de acordo com o que esta sendo transacionado e processado pelo SQL Server. Teoricamente este é o cenário mais comum e indicado para se trabalhar com Paralelismo.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Marcado como Resposta Patricia_senna quarta-feira, 14 de novembro de 2012 10:04
Todas as Respostas
-
Patrícia,
1 - O processo de configuração de Processadores você poderá realizar diretamente nas Propriedades e Opções do SQL Server, na caso fazendo acesso através do Managament Studio.
2 - É extremamente complicado dizer se a sua configuração de Hardware é a mais indicada para o seu ambiente, mas uma pergunta é válida.
- Você disse que possui 100 funcionários que fazem acesso ao banco de dados. Por padrão cada conexão no SQL Server utiliza o pacote TCP/IP e consume de 24 á 32 bytes.
- Neste caso, você saberia dizer o quanto a sua aplicação Web que roda sobre o IIS consume por conexão e sessão?
Em relação ao consumo de processador, isso pode variar muito, mas temos que fazer uma análise para tentar identificar o porque esta chegando á 100%. Existe algum antivírus instalado neste servidor?
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
-
Olá junior, obrigado pelas respostas
1- Na configuração dos processadores nas Propriedades e Opções do SQL Server no Managament Studio, esta a padrao, ou seja, pelo que entendi esta para usar todos os processadores.
Nesse item eu teria que fazer alguma configuração a parte?
2- Quanto ao IIS nao sei dizer realmente o consumo, poremo IIS fica em um servidor a parte.
3 - No Servidor nao tem antivirus ainda, temos na empresa o symantec, estamos fazendo as devidas excessoes antes de instalar no servidor SQL o antivirus, e ainda sim vamos fazer os testes, porem o servidor nao tem antivirus e o firewall esta desabilitado.
Eu sei que é dificil realmente chegar a uma conclusão, até mesmo do antivirus se instala ou nao no servidor SQL ja foi motivo de varias reunioes aqui na empresa.
Mas no caso dos processadores, o perfmon me daria realmente esse consumo pelo SQL , ou tem algum outro jeito, como por exemplo algum script para saber se o sql esta consumindo algo fora do normal?
Obrigada
-
Patricia,
Então:
1 - Nesta ferramenta você vai poder configurar o conjunto de processadores que deseja utilizar.
2 - Você vai poder monitorar o IIS através do contadores existentes na ferramenta Monitor de Desempenho do Windows.
3 - Sim o Perfmon vai poder ajudar, como também, alguns Scripts que vão esta fazendo o consumo dos valores que o próprio Windows gera, além disso a ferramenta Task Manager pode ajudar muito.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
-
Patricia,
Vou tentar falar de forma resumida e alto nível, sem detalhes técnicos.
Se seu servidor SQL Server não tiver tido alteração da configuração 'affinity mask', então, posso falar que isso é normal.
Por exemplo, servidor com dois núcleos, em um dado momento fica desse jeito:
Core 0 - Uso 10%
Core 1 - Uso 100%
Em outro momento
Core 0 - Uso 100%
Core 1 - Uso 0%
Essa é a minha interpretação para:
Quando você define a máscara de afinidade como 0 (o padrão), os algoritmos de agendamento do Microsoft Windows definem a afinidade do thread.
Fonte: http://msdn.microsoft.com/pt-br/library/ms187104(v=sql.105).aspx
O Junior pode afirmar melhor do que eu, se isso é uma verdade ou não.
Jefferson Santos [MCTS SQL Server]
- Editado Jefferson O Santos sexta-feira, 2 de novembro de 2012 14:44 Escrito errado.
-
Jefferson,
Isso mesmo, quando utilizamos o padrão do Affinity Mask o SQL Server em conjunto com o Sistema Operacional foi definir e utilizar a melhor forma possível de alocação de recursos e carga de processamento de acordo com o que esta sendo transacionado e processado pelo SQL Server. Teoricamente este é o cenário mais comum e indicado para se trabalhar com Paralelismo.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Marcado como Resposta Patricia_senna quarta-feira, 14 de novembro de 2012 10:04