Três perguntas esperam que você mestres em DBA do universo possam responder:
- Eu sei que é uma prática recomendada definir a memória máxima do SQL Server. Portanto, se um servidor com 44 GB de RAM tiver o SQL Server instalado, devemos definir a memória máxima do SQL Server para aproximadamente 37 GB.
Mas o que devemos definir se o SQL Analysis Service e o SQL Reporting Services estiverem instalados no mesmo servidor que o SQL Server? É melhor definir a memória máxima do SQL Server como 22 GB de RAM para que o Analysis possa usar os outros 22 GB de RAM?
- Em um servidor executando o SQL Server com 44 GB de RAM, qual é a melhor prática para definir o tamanho do arquivo de paginação? Li no Brent Ozar ( http://www.brentozar.com/archive/2014/06/sql-server-setup-checklist-free-ebook-download/ ) o seguinte:
O SQL Server não precisa de um arquivo de paginação gigante. se você estiver instalando outros aplicativos no servidor (o que não recomendamos - o SQL Server deve ser isolado). você pode precisar de um arquivo de paginação maior. Se o SQL Server é o único serviço importante em execução na caixa, normalmente criamos um arquivo de paginação de tamanho de 2 GB na unidade do sistema.
A Microsoft diz que devemos definir o sistema de arquivos de paginação gerenciado para 1,5x a RAM, o que corresponde aos conselhos de Remus (consulte -> http://rusanu.com/2009/11/22/system-pagefile-size-on-machines-with -large-ram / ).
Portanto, em nosso servidor com 44 GB de RAM, temos o SQL Server instalado próximo ao SQL Analysis Service e SQL Reporting Services. Que tamanho devemos definir o arquivo de paginação?
- Para o SharePoint, o SQL Server que faz parte do farm do SharePoint e onde o SharePoint armazena seus bancos de dados, o grau máximo de paralelismo deve ser definido como 1. Agora que temos um servidor que não faz parte do farm do SharePoint (chame-o de sql2) servidor, temos o SQL Server, o SQL Analysis and Reporting instalado. O SharePoint não armazena seus bancos de dados neste servidor, mas temos bancos de dados / cubos de relatórios e análises criados nos quais o SharePoint lê e grava.
Brent Ozar diz:
Regra geral: defina isso como o número de núcleos físicos em um soquete de nó (processador) do NUMA no hardware ou menos
O que devemos configurar nesta instância do SQL Server para obter o máximo grau de paralelismo quando tiver 4 VCPUs?
Espero que vocês dêem não apenas a mim, mas mais administradores sql, um pouco mais sobre as melhores práticas do que a selva nas interwebs.
fonte
PAGE FILE FOR SQL SERVER = 1.5 * RAM
. Isso responde à sua pergunta ?Bem, acrescentando ao que Kin já mencionou, sugiro que você use
Perfmon Counters
para calcular qual deve ser o tamanho do seu arquivo de paginação. Também concordo com a recomendação de Remus do arquivo de paginação ser 1,5 vezes a RAM do sistema . Mas esta recomendação está considerando todos os aspectos e cenários possíveis e 'recomendação geral'. Eu acho que você está mais interessado em valor concreto. Então aqui estáAs necessidades do arquivo de paginação de um sistema individual variam de acordo com a função do servidor, carga, etc. Existem alguns contadores de desempenho que você pode usar para monitorar o uso de memória confirmada privada em todo o sistema ou por arquivo de paginação. Não há como determinar quanto da memória confirmada privada de um processo reside e quanto é paginado para arquivos de paginação.
Memória: bytes confirmados : número de bytes de memória virtual que foram confirmados. Isso não representa necessariamente o uso do arquivo de paginação - representa a quantidade de espaço no arquivo de paginação que seria usada se o processo fosse completamente não residente
Memória: limite de confirmação: número de bytes de memória virtual que podem ser confirmados sem a necessidade de estender os arquivos de paginação.
Arquivo de paginação:% de uso Porcentagem do arquivo de paginação confirmada
Arquivo de paginação:% de pico de uso Porcentagem mais alta do arquivo de paginação confirmada
Use os contadores acima para definir o valor adequado para o arquivo de paginação. Você pode ler este link para obter mais informações sobre o arquivo de paginação.
Não, acho que você não atendeu aos requisitos do SO aqui. Você precisa primeiro definir a memória máxima ideal do servidor para o SQl Server. Esse encadeamento SE tem mais detalhes sobre a configuração do valor máximo correto da memória do servidor. Novamente, eu sempre respondo pesadamente e sempre nos contadores de perfmon para ver o que seria o valor ideal. Sugiro que você leia este artigo e obtenha ajuda dos contadores para definir o valor ideal para o SSAS. Uma vez eu usei este blog para definir o valor da memória para o SSAS. Como não gosto muito do SSAS, meus comentários serão limitados apenas a este artigo.
Você deve manter MAXDOP = 1 para instâncias do Sharepoint como seu parâmetro amplamente aceito. Se o IIRC, a recomendação se tornasse amplamente aceita, após conflitos freqüentes, quando o grau máximo de paralelismo era deixado no valor padrão
fonte
Todas as outras respostas fornecidas até agora para o tamanho do arquivo de paginação referenciam artigos relativamente desatualizados. Esta publicação do blog da Technet está mais atualizada (outubro de 2015) e fornece uma maneira mais detalhada de calcular o tamanho ideal do arquivo de paginação em sistemas modernos.
Eles afirmam claramente que a regra de ouro antiga de 1,5 x RAM não se aplica mais.
Colei o conteúdo principal desse artigo abaixo para evitar a podridão do link.
Observe que eles recomendam a coleta de métricas do seu servidor em execução no pico de uso por pelo menos 1 semana - portanto, nos estágios de planejamento e implementação de seus projetos, você pode não estar em condições de fazer isso e precisará reservar um tempo mais tarde no projeto. para fazer isso.
Ao dimensionar o arquivo de paginação, precisamos considerar as necessidades de memória de nossos aplicativos e as configurações de despejo de memória.
Como você sabe quanta memória seu aplicativo precisa? A melhor maneira é seguir uma linha de base.
Nota: Certifique-se de coletar as informações por um longo período (pelo menos uma semana) e se o servidor está sendo executado com o uso máximo.
A fórmula do tamanho do arquivo de paginação deve ser:
(Valor máximo de bytes confirmados + 20% de buffer adicional para acomodar qualquer rajada de carga de trabalho)
Por exemplo: Se o servidor tiver 24 GB de RAM e o máximo de bytes confirmados for 26 GB, o arquivo de paginação recomendado será: (26 * 1,2) -24) = 7,2 GB
E o segundo fator: o tamanho que precisamos para registrar informações quando o sistema trava?
O tamanho do despejo de memória é determinado por seu tipo:
Na maioria dos casos, o Kernel Memory Dump é bom o suficiente para a análise da causa raiz, pois Complete Memory Dump é necessário apenas em casos específicos, por exemplo, você deseja ver o que aconteceu no modo de usuário.
De acordo com minha experiência, o tamanho do Kernel Memory Dump é geralmente o seguinte:
No entanto, esses números NÃO são uma recomendação oficial da Microsoft e podem ser diferentes em seus servidores; portanto, sempre teste antes de aplicar.
fonte
Respondendo desde que eu sou uma das pessoas que você está citando, heh.
1. Como devo definir a memória máxima quando também executo o Analysis Services?
Você não encontrará orientações por aí, porque o SSAS é como qualquer outro aplicativo instalado no SQL Server: simplesmente não sabemos quanta memória você usará. Trate o SSAS / SSIS / SSRS como aplicativos de terceiros - eles são incluídos como "gratuitos" na caixa do SQL Server. Eles têm necessidades totalmente diferentes de CPU, memória e armazenamento.
2. Como devo definir o tamanho do arquivo de paginação?
Minhas recomendações são para que o Windows possa fazer um mini-despejo. Se você encontrar um problema no qual precisará ligar para o suporte da Microsoft, poderá começar com o mini-despejo. Se o problema persistir e eles não conseguirem descobrir isso no mini-despejo (ou em outras fontes de informação, como o log de erros), eles podem solicitar que você vá para o tamanho de 1,5x RAM.
As recomendações de 1,5x RAM da Microsoft são para que o Windows possa executar um despejo COMPLETO de memória quando o sistema travar.
Hoje em dia, com servidores com 64 a 128 a 256 GB de RAM, geralmente não é uma boa ideia fazer o Windows fazer uma pausa para gravar todo o conteúdo da memória durante uma falha. Você prefere que o SQL Server volte a funcionar e lide com o conteúdo do minidump, em vez de com a totalidade. Salve os lixões completos para mais tarde - normalmente você pode seguir toda a sua carreira sem precisar fazer upload de um arquivo de dump de 64 GB para a Microsoft. (Boa sorte nessa.)
3. Como defino o MAXDOP para o SharePoint?
O que você chama de "minhas" recomendações são do Microsoft KB 2806535 . Comece lá em geral, mas quando um aplicativo específico diz algo diferente, eles sabem algo sobre o aplicativo diferente do SQL Server em geral - siga-o.
fonte