DBAs desempenham um papel vital dentro de uma organização. Como guardiões dos dados, eles são responsáveis por gerenciar todos os aspectos do desempenho do banco de dados, incluindo alta disponibilidade, tempo de processamento de consulta rápido e mitigação de riscos e recuperação de desastres. Além disso, os DBAs são responsáveis pelo objetivo comercial de manter os bancos de dados da organização visando o ROI e a economia de custos.
Com todos os diferentes chapéus que eles usam, os DBAs precisam trabalhar com eficiência, e o gerenciamento eficaz do tempo é seu melhor amigo. A melhor maneira de obter eficiência é se concentrar primeiro nas atividades-chave que ajudarão a manter o desempenho ideal dos bancos de dados.
Aqui estão quatro atividades de monitoramento de banco de dados que devem estar no topo da lista “obrigatória” de cada DBA.
Como (e por que) ajustar as configurações padrão no SQL Server
Muitos DBAs executam o SQL Server como está, direto da caixa. No entanto, as configurações padrão nem sempre são a melhor escolha do ponto de vista de segurança ou desempenho. Os bancos de dados de cada organização são diferentes e atendem a diferentes necessidades de negócios, portanto, faz sentido que nem todos os bancos de dados sejam configurados da mesma maneira.
Dependendo de suas necessidades e preferências específicas do banco de dados, há várias configurações padrão do SQL Server que você pode querer alterar:
- Fator de preenchimento:se você criar um índice sem especificar o valor do fator de preenchimento, o valor padrão será 0. Isso significa que a página será preenchida até a capacidade máxima e quaisquer inserções, exclusões ou atualizações podem causar divisões e fragmentação excessivas de páginas.
Não existe um valor de fator de preenchimento universalmente “correto”, mas 80-90 é normalmente uma escolha segura. Esse intervalo de valores permite o preenchimento de 80 a 90 por cento da página, deixando 10 a 20 por cento livre.
- Limite de custo para paralelismo:o limite de custo para paralelismo é o valor no qual o mecanismo do SQL Server começa a executar planos paralelos para suas consultas. O valor padrão é cinco segundos, mas esse valor é bastante baixo e pode criar muitas consultas desnecessariamente complexas, o que afetará negativamente o desempenho.
Comece com uma configuração de 20 segundos e ajuste conforme necessário com base nas esperas do CXPACKET e no uso da CPU.
- Aumento automático do arquivo de banco de dados:o crescimento automático é um processo que ocorre quando o mecanismo do SQL Server aumenta o tamanho de um arquivo de banco de dados quando ele está sem espaço. O crescimento do arquivo é definido por padrão como 1 MB para arquivos de dados e 10% para arquivos de log de transações.
Cada banco de dados crescerá em taxas diferentes, então estime quanto você acha que o banco de dados crescerá e defina o valor de acordo.
- Modelo de recuperação de banco de dados:o modelo de recuperação padrão é FULL pronto para uso, mas isso não é eficiente para todos os bancos de dados.
Altere a configuração para SIMPLE para bancos de dados que não são de missão crítica e deixe a configuração como FULL apenas para bancos de dados de produção de alto risco. - Memória máxima do servidor:o valor padrão é 2 TB, o que significa que o SQL Server aloca toda a memória do sistema operacional. Isso não deixa nenhuma memória para o sistema operacional usar.
Ajuste a configuração para maximizar a quantidade de memória disponível para o processo do SQL Server, mas deixe um pouco para o sistema operacional usar, se necessário. - Grau máximo de paralelismo (MAXDOP):MAXDOP controla quantos processadores são usados para a execução de uma consulta em um plano paralelo. O padrão é 0, o que significa que o SQL Server determina quantos processadores ele pode usar. Se você deixar o custo do limite para paralelismo no valor padrão de 5, poderá acabar usando todas as CPUs para cada consulta.
A configuração ideal de MAXDOP varia de acordo com seu sistema específico, mas a Microsoft oferece algumas sugestões aqui. - Compactação de backup:a configuração padrão para esse recurso é DESATIVADO. No entanto, a compactação de backup acelera as operações de backup do banco de dados e cria arquivos de backup menores, portanto, talvez você queira LIGAR.
Uma dica final para ajustar as configurações do SQL Server a partir dos valores padrão:Sempre teste o sistema completamente após alterar qualquer configuração para garantir que nenhum problema tenha sido introduzido inadvertidamente.
Como eliminar gargalos do SQL Server
Os gargalos do SQL Server são uma fonte comum de problemas de desempenho, incluindo o SQL Server sobrecarregando o processador, longos tempos de execução de consulta, E/S excessiva e atividade extrema nos discos.
Há muitos motivos que não são gargalos pelo seu banco de dados pode enfrentar esses problemas de desempenho, mas se o problema resultar de gargalos do SQL Server, há três áreas principais que provavelmente serão afetadas:memória, E/S e CPU.
Afunilamentos de memória resultam de recursos de memória insuficientes ou atividades do SQL Server usando muita memória disponível. Fique atento a tempos de execução de consulta mais longos, E/S excessiva, mensagens de falta de memória no log do aplicativo e falhas frequentes do sistema.
Os gargalos de E/S ocorrem quando não há armazenamento suficiente disponível para dar suporte a operações regulares de banco de dados, como tempDB. Fique atento a tempos de resposta longos, lentidão de aplicativos e tempos limite de tarefas frequentes.
Os gargalos da CPU são causados por recursos de hardware insuficientes. Procure em seu monitoramento de banco de dados dados de log mostrando que o SQL Server está usando CPU excessiva.
Como evitar o crescimento do tempDB
TempDB é um espaço de trabalho temporário em instâncias do SQL Server usado para criar e manter objetos intermediários e temporários. O TempDB é um dos recursos mais ativos em um ambiente SQL Server, por isso é importante monitorar e controlar o crescimento excessivo do tempDB.
O TempDB é usado com frequência em uma instância porque é usado para armazenar objetos de usuário, objetos internos e armazenamentos de versão. O crescimento excessivo do tempDB pode causar problemas de desempenho, portanto, é importante rastrear grandes consultas, tabelas temporárias e variáveis de tabela que estão usando uma grande quantidade de espaço em disco do tempDB.
Para otimizar o tamanho e o crescimento do tempDB, a Microsoft recomenda as seguintes práticas recomendadas:
- Defina o modelo de recuperação do tempDB como SIMPLE
- Permitir que os arquivos tempDB cresçam automaticamente conforme necessário
- Defina o incremento de crescimento do arquivo para um tamanho razoável para evitar que os arquivos de banco de dados tempDB cresçam em um valor muito pequeno
- Pré-aloque espaço para todos os arquivos tempDB definindo o tamanho do arquivo para um valor grande o suficiente para acomodar a carga de trabalho típica no ambiente
- Torne cada arquivo de dados do mesmo tamanho
Você pode ajustar os parâmetros de tamanho e crescimento dos arquivos de dados tempDB usando o SQL Server Management Studio.
Como calcular o custo total de propriedade
Embora você não gaste muito tempo pensando no orçamento da sua empresa, é melhor acreditar que o CFO o faz. Quando é hora de solicitar uma nova tecnologia de monitoramento de desempenho, é inteligente vir preparado com dados concretos para fazer backup de sua solicitação.
Um dos dados mais influentes que você pode apresentar é o potencial custo total de propriedade (TCO) da nova tecnologia em relação à sua solução atual. Além dos custos diretos, certifique-se de considerar os custos indiretos, como infraestrutura e custos de recursos, como manutenção.
Reduzir o TCO é um objetivo comum para DBAs que desejam substituir sua ferramenta de monitoramento de desempenho de banco de dados atual, portanto, há vários fatores a serem considerados. Como mencionado acima, é importante observar não apenas os custos diretos, como o preço de compra, mas também os custos indiretos, como armazenamento e custos de recursos, como treinamento.
Para determinar o TCO da nova ferramenta, conecte seus dados específicos a uma calculadora de TCO e veja quais são as economias de custo, se houver.