As 9 Regras Ninjas de Performance

Esse post resume muita coisa do que já passei. Resolvi compilar uma série de regras para abordar os problemas mais comuns de performance. Essas são as “regras ninjas” para ajudar a guiar o trabalho do dia a dia e atingir bons resultados em pouco tempo.   REGRA 1: DISK – Monitore o consumo de recursos…

9

SET SHOWPLAN_TEXT

Esse é mais um artigo da série “Saga da otimização com comandos antigos” Parte 1: SET STATISTICS IO Parte 2: DBCC DROPCLEANBUFFERS Parte 3: DBCC SHOWCONTIG Parte 4: DBCC PAGE Parte 5: sp_spaceused Parte 6: DBCC IND Parte 7: DBCC INDEXDEFRAG Parte 8: DBCC DBREINDEX Parte 9: sp_detach_db No último artigo, falamos do impacto do…

0

sp_detach_db

Esse é mais um artigo da série “Saga da otimização com comandos antigos” Parte 1: SET STATISTICS IO Parte 2: DBCC DROPCLEANBUFFERS Parte 3: DBCC SHOWCONTIG Parte 4: DBCC PAGE Parte 5: sp_spaceused Parte 6: DBCC IND Parte 7: DBCC INDEXDEFRAG Parte 8: DBCC DBREINDEX No último artigo, comentei sobre as melhores práticas para escolha…

0

DBCC DBREINDEX

Esse é mais um artigo da série “Saga da otimização com comandos antigos” Parte 1: SET STATISTICS IO Parte 2: DBCC DROPCLEANBUFFERS Parte 3: DBCC SHOWCONTIG Parte 4: DBCC PAGE Parte 5: sp_spaceused Parte 6: DBCC IND Parte 7: DBCC INDEXDEFRAG No último artigo, comparamos o INDEX SCAN e HEAP SCAN e mostramos que o…

0

DBCC INDEXDEFRAG

Esse é mais um artigo da série “Saga da otimização com comandos antigos” Parte 1: SET STATISTICS IO Parte 2: DBCC DROPCLEANBUFFERS Parte 3: DBCC SHOWCONTIG Parte 4: DBCC PAGE Parte 5: sp_spaceused Parte 6: DBCC IND No último artigo, falei sobre a forma mais rápida de executar um scan. Nesse artigo vou falar sobre…

0

DBCC IND

Esse é mais um artigo da série “Saga da otimização com comandos antigos” Parte 1: SET STATISTICS IO Parte 2: DBCC DROPCLEANBUFFERS Parte 3: DBCC SHOWCONTIG Parte 4: DBCC PAGE Parte 5: sp_spaceused No último artigo, apresentei um problema muito comum nas estruturas HEAPS para armazenamento de dados. Agora vamos falar da equivalência: Table scan…

0

sp_spaceused

Continuando a série dos comandos históricos, vou apresentar o comando sp_spaceused. Embora esse seja um comando antigo, essa é uma das procedures que mais uso no dia a dia. Nos posts anteriores comentei sobre a importância do SET STATISTICS IO e do uso correto do DBCC DROPCLEANBUFFERS. Comentei sobre o DBCC SHOWCONTIG para visualizar a…

4

DBCC PAGE

Continuando a série dos comandos históricos, vamos falar sobre o famoso DBCC PAGE. Esse é o quarto artigo da série: já comentei sobre o SET STATISTICS IO, DBCC DROPCLEANBUFFERS e DBCC SHOWCONTIG. Vou recriar o ambiente do LOJADB: Em seguida, quero me certificar que está funcionando tudo corretamente. Antes de continuar, algumas pessoas desconfiaram da…

2

DBCC SHOWCONTIG

Tudo começou no artigo sobre a vantagem de usar o SET STATISTICS IO e depois falei sobre o uso correto do DBCC DROPCLEANBUFFERS (existe uso correto?). Dessa vez vamos explorar o antigo companheiro DBCC SHOWCONTIG. Vamos começar analisando a query que demorava 1ms: Esse tempo de 1 milissegund era possível porque todas os dados estavam…

2

DBCC DROPCLEANBUFFERS

No artigo anterior, comentei sobre a vantagem de usar o SET STATISTICS IO como ferramenta de análise de performance. Terminei o artigo o mistério: por que o número de read-ahead e logical reads não bate? O resultado esperado deveria ser:   Limpando o Buffer Bool O comando DBCC DROPCLEANBUFFERS remove as páginas do banco de…

2

SET STATISTICS IO

Há 20 anos quando comecei a estudar banco de dados, imaginava que o SQL era uma caixa-preta. Bastava inserir os dados e não precisaria me preocupar mais. Eu era um desenvolvedor sem conhecimento de banco de dados. Para relembrar esse cenário, vou criar um banco de dados chamado LOJADB usando um pendrive (meu storage de…

3

Checklist: Performance do Servidor (SQL)

Podemos criar um breve checklist sobre como validar a infraestrutura de um servidor SQL usando o Performance Monitor. Artigo complementar: Checklist: Performance do Servidor (Windows) Desafio: Analisando Servidor com Perfmon O primeiro passo na análise do SQL Server no Performance Monitor é criar um baseline inicial para caracterizar a carga. Depois, complementamos com informações sobre…

2

Checklist: Performance do Servidor (Windows)

Podemos criar um breve checklist sobre como validar a infraestrutura de um servidor SQL usando o Performance Monitor. Artigo complementar: Checklist: Performance do Servidor (SQL) Desafio: Analisando Servidor com Perfmon A análise da infraestrutura sob a ótica do Windows é dividida nos seus principais recursos: CPU, memória, storage e rede. CPU Monitoração do consumo de…

1

Perfmon: Monitorando o Storage

O principal recurso de um banco de dados é o storage, pois é lá onde os dados ficam armazenados. Antigamente o storage eram discos SCSI conectados ao servidor. Hoje os discos ficam escondidos atrás de várias camadas de virtualização: Discos SCSI/SAS/FC estão associados a um Arrays de Disco Arrays de disco ficam conectados a uma…

12

Perfmon: Monitorando o Buffer Manager

O gerenciador de memória de Buffer de dados, também conhecido por Data Cache ou Database Cache, fornece as melhores informações sobre a utilização de memória do banco de dados. Inicialmente analisamos os contadores: Page life expectancy Lazy writes/sec Free list stalls/sec Segue aqui alguns exemplos de gráfico do Page Life Expectancy (PLE). Particularmente, gosto de…

7

Desafio: Analisando Servidor com Perfmon

Hoje é dia de desafio! Estou colocando os contadores (na forma gráfica) para que você possa analisar e tirar suas conclusões. Artigo: Perfmon- Falso Sentido de Monitoração Artigo: Os 7 Grandes Mitos do Perfmon: Parte 1: Buffer Cache Hit Ratio, Average Disk Queue Length e %Disk Busy Parte 2: Paging File:%Usage, Memory: Page Faults/sec e…

10

Contadores do Perfmon

Recapitulando os últimos artigos sobre Performance Monitor. Artigo: Utilize o Perfmon para criar baselines: Perfmon- Falso Sentido de Monitoração Artigo: Os 7 Grandes Mitos do Perfmon: Parte 1: Buffer Cache Hit Ratio, Average Disk Queue Length e %Disk Busy Parte 2: Paging File:%Usage, Memory: Page Faults/sec e Memory: Pages/sec Parte 3: SQL Access Methods: Page…

4

Os 7 Grandes Mitos do Perfmon (Parte 3)

No primeiro post da série Os 7 Grandes Mitos do Perfmon (Parte 1), comentei sobre os contadores: Buffer Manager:Buffer Cache Hit Ratio LogicalDisk: Average Disk Queue Length e LogicalDisk: %Disk Busy Depois abordei os contadores relacionados ao Paging File (Parte 2): Paging File:%Usage Memory: Page Faults/sec e Memory: Pages/sec Agora vamos terminar com os 3…

1

Os 7 Grandes Mitos do Perfmon (Parte 2)

No primeiro post da série Os 7 Grandes Mitos do Perfmon, comentei sobre os contadores: Buffer Manager:Buffer Cache Hit Ratio LogicalDisk: Average Disk Queue Length e LogicalDisk: %Disk Busy Agora vamos continuar falando sobre outros contadores 3. Paging File:%Usage Existe uma discussão sobre qual o tamanho ideal do arquivo de Paging File. Algumas pessoas dizem…

1

Os 7 Grandes Mitos do Perfmon (Parte 1)

No post anterior, fiz uma breve introdução sobre o Perfmon. Agora é hora de comentar sobre os principais mitos que sempre as pessoas falam sobre os contadores do Perfmon. 1. Buffer Manager:Buffer Cache Hit Ratio Buffer Cache Hit Ratio determina a eficiência do cache de memória, sendo que as pessoas recomendam que seja acima de…

1