O volume de informações armazenadas em um banco de dados tende a aumentar com o passar do tempo, afetando o desempenho das aplicações, o que já é algo esperado. Por conta disso, é preciso realizar periodicamente o processo de tuning: medidas que impeçam que o banco de dados perca seu desempenho.
Há diversas ações que podem ser aplicadas para otimizar o desempenho do banco de dados. No artigo de hoje, mostraremos três, tomando como exemplo o SQL Server.
1. Monitore os contadores de desempenho
Uma das providências a serem tomadas para otimizar a performance do banco de dados é monitorar os contadores de desempenho, pois informam dados úteis sobre eficiência operacional e indicam a existência de gargalos no sistema. Alguns importantes medidores são:
- Processor\%Processor Time: indica o consumo da CPU no servidor;
- LogicalDisk\Free MB: mostra o espaço livre no disco;
- MSSQL$Instance:Databases\DataFile(s) Size (KB): permite orientar o crescimento ao longo do tempo;
- Memory\Pages/sec: aponta quando os recursos de memória podem estar curtos;
- Memory\Available MBytes: demonstra a quantidade de memória física livre;
- Alta porcentagem de espera de sinal: indica se há algum problema na CPU;
- Disco físico\média Tamanho da fila do disco: se o valor for maior que dois, possivelmente há algum problema com o disco;
- MSSQL$Instance:Buffer Manager\Page Life Expectativa: caso o valor seja baixo, provavelmente as páginas estão sendo despejadas sem consumir muito tempo no cache;
- MSSQL$Instance:Plan Cache\Cache Hit Ratio: informa sobre a reutilização dos planos;
- MSSQL$Instance:General Statistics\Processes Blocos: se os blocos estiverem longos, certamente há retenção de recursos.
Para aprimorar a análise dos contadores de desempenho, é interessante utilizar sistemas de rastreamento, como SQL Profiler e eventos estendidos. Assim, será possível correlacionar os dois eventos, resultando em uma análise mais detalhada e muito mais rápida.
2. Altere as configurações do servidor
Se a memória do SQL Server estiver sendo muito usada, há a possibilidade de o próprio sistema reduzir a memória disponível para permitir o funcionamento das operações, o que pode impactar o desempenho do banco de dados.
Uma forma de corrigir esse problema é compactar o backup por padrão. Assim, menos dados são registrados no disco, diminuindo os ciclos de CPU utilizados. Outra forma é utilizar a configuração "Otimizar para cargas de trabalho ad hoc", para armazenar um plano de stub ao invés de um plano completo no cache. Tal configuração é muito útil para quem usa T-SQL construído de forma dinâmica ou Linq.
3. Aumente a reutilização do plano
Aumentar a reutilização de um plano melhora o desempenho do banco de dados, porque criar um novo plano demanda CPU significativa.
Veja também: Saiba a diferença entre MySQL e SQL Server
É necessário ajuda para otimizar seu banco de dados?
Se você precisa de apoio para melhorar o desempenho do banco de dados da sua empresa, saiba que pode contar com o time da HTI Tecnologia. Oferecemos diversas soluções que contribuem com a otimização de sistemas, sendo uma delas o serviço de gestão de banco de dados.
Se precisar de ajuda, acesse nosso site e entre em contato!