Início > Análise de desempenho > MSSQL Blocks

MSSQL Blocks

Se seu servidor está usando pouca CPU e pouco disco e mesmo assim está chovendo de usuário reclamando de mau desempenho, é provável que seu problema seja de contenção de bloqueios (locks).
 
Pela interface do Management Studio (Activity Monitor) não fica muito óbvio perceber cadeias de espera por bloqueios. O comano sp_who2 ‘active’ pode ajudar mas também não é tão prático e direto para identificar exatamente os processos que estão na fila de espera por bloqueios.
 
Em geral, quando se chega nessa situação problemática de desempenho por conta de bloqueios, muita gente sai distribuindo o bom e velho NOLOCK pra todo lado, que despreza os bloqueios e lê o dado "sujo", independente de estar sendo manipulado naquele momento por alguma transação em andamento. Essa prática, apesar de normalmente resolver o problema de desempenho, não é indicada quando se necessita manter integridade transacional dos dados sendo manipulados durante um conjunto de operações que compõem transações.
 
Um russo desenvolveu um interessante utilitário para mostrar de maneira objetiva os problemas com bloqueios. E deixou disponível para download gratuito:
 
  1. Clayton
    01/09/2008 às 12:39

    Fábio,
     
    apenas complementando o bom post, com uma visão um pouco diferente. As contenções costumam acontecer, como já podemos imaginar, devido a transações de longa duração. E transações longas são muito comuns em aplicações OLTP (aquelas simples, dos sistemas que utilizamos no dia-a-dia das empresas) "com problemas".
     
    Não é raro encontrar programadores inexperientes que constroem suas aplicações sem se preocupar com o ambiente multi-usuário. Alguns sequer sabem os cuidados que precisam tomar. Na maioria das vezes, esses sistemas foram projetados inicialmente para um ambiente mono-usuário, ou pior ainda, construídos achando que a diferença para mono e multi-usuários seria apenas mudar a conexão feita ao banco de dados.
     
    Bom, esse assunto rende uma boa e longa conversa, que não cabe agora.
     
    Abraços.
     
    Clayton Aguiar
    Arquiteto de Software

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: