Share via


Otimizando o desempenho do servidor usando opções de configuração de memória

O componente gerenciador de memória do Microsoft SQL Server elimina a necessidade de gerenciamento manual da memória disponível para o SQL Server. Quando o SQL Server é iniciado, ele determina, dinamicamente, quanta memória alocar, de acordo com a quantidade de memória utilizada atualmente pelo sistema operacional e outros aplicativos. Assim como muda a carga no computador e no SQL Server, a memória alocada também muda. Para obter mais informações, consulte Arquitetura de memória.

Podem ser usadas as seguintes opções de configuração de servidor para configurar o uso de memória e influir no desempenho do servidor:

  • min server memory

  • max server memory

  • max worker threads

  • index create memory

  • min memory per query

A opção de configuração de servidor min server memory pode ser usada para garantir que o SQL Server não libere memória abaixo da memória de servidor mínima configurada quando o limite for atingido. Esta opção de configuração pode ser definida como um valor específico, de acordo com o tamanho e a atividade do SQL Server. Se decidir definir este valor, especifique um valor razoável para garantir que o sistema operacional não solicite memória demais a partir do SQL Server, o que pode influir no desempenho do SQL Server.

A opção de configuração max server memory pode ser usada para especificar a quantidade máxima de memória que o SQL Server pode alocar ao ser iniciado e durante sua execução. Essa opção de configuração pode ser definida como um valor específico, caso você tenha ciência de que há vários aplicativos em execução ao mesmo tempo como o SQL Server e queira garantir que eles tenham memória suficiente para execução. Se esses outros aplicativos, como servidores Web ou de email, solicitarem memória apenas conforme a necessidade, não defina a opção de configuração de servidor max server memory, pois o SQL Server já libera memória conforme a necessidade para eles. Muitas vezes, contudo, os aplicativos usam qualquer memória que esteja disponível ao serem iniciados e não solicitam mais, quando necessário. Se um aplicativo que se comporta dessa maneira estiver em execução no mesmo computador e ao mesmo tempo que o SQL Server, defina a opção de configuração de servidor max server memory com um valor que garanta que a memória solicitada pelo aplicativo não seja alocada pelo SQL Server.

Não defina as opções de configuração de servidor min server memory e max server memory com o mesmo valor, tornado fixa, assim, a quantidade de memória alocada para o SQL Server. A alocação dinâmica de memória produz o melhor desempenho global no decorrer do tempo. Para obter mais informações, consulte Opções de memória do servidor.

A opção de configuração de servidor max worker threads pode ser usada para especificar o número de threads utilizados para dar suporte a usuários conectados ao SQL Server. O valor padrão para max worker threads, 0, permite ao SQL Server configurar automaticamente o número de threads de trabalho ao iniciar. Essa configuração é melhor para a maioria dos sistemas; porém, dependendo de sua configuração de sistema, definir max worker threads como um valor específico, às vezes, melhora o desempenho. Para obter mais informações, consulte Opção max worker threads.

ObservaçãoObservação

A configuração padrão de max worker threads no SQL Server 2000 era 255. Atualizar uma instância do SQL Server 2000 Mecanismo de Banco de Dados para uma versão mais nova reterá o valor da configuração para max worker threads. Ao atualizar, recomendamos alterar o valor da nova instância max worker threads para 0, para permitir que o Mecanismo de Banco de Dados calcule o melhor número de threads.

A opção de configuração de servidor índice cria memória controla a quantidade de memória utilizada pelas operações de classificação durante a criação de índice. Criar um índice em um sistema de produção é, normalmente, uma tarefa realizada com pouca frequência e, muitas vezes, agendada como trabalho a executar fora do horário de pico. Portanto, quando se cria índices pouco frequentemente e fora do horário de pico, aumentar este número pode melhorar o desempenho de criação de índice. Mantenha, contudo, a opção de configuração de servidor min memory per query em um número baixo, para que o trabalho de criação de índice seja iniciado ainda que a memória solicitada não esteja disponível. Para obter mais informações, consulte Opção index create memory.

A opção de configuração de servidor min memory per query pode ser usada para especificar a quantidade mínima de memória que deve ser alocada para a execução de uma consulta. Quando há muitas consultas em execução simultânea em um sistema, aumentar o valor de min memory per query pode ajudar a aumentar o desempenho de consultas que exigem muita memória, como operações substanciais de classificação e hash. Não defina, entretanto, a opção de configuração de servidor min memory per query com um valor alto demais, especialmente em sistemas muito ocupados, pois, nesse caso, a consulta teria que esperar até poder assegurar a memória mínima solicitada ou até que o valor especificado na opção de configuração de servidor query wait fosse ultrapassado. Se houver disponível mais memória do que o valor mínimo necessário especificado para executar a consulta, será permitido que a consulta use a memória adicional, desde que esta possa ser utilizada com eficiência pela consulta. Para obter mais informações, consulte Opção min memory per query e Opção query wait.