Sem algum

Disponível somente no TrabalhosFeitos
  • Páginas : 11 (2520 palavras )
  • Download(s) : 0
  • Publicado : 7 de abril de 2013
Ler documento completo
Amostra do texto
Ferramentas do ofício: SQL Server Profiler and Query Analyzer

O Application Center Test é o tipo de ferramenta que não sabemos que iremos necessitar, até que alguém nos mostre quão útil realmente é. Verificamos que o uso do Application Center Test para medição de desempenho é bastante crítico, pois podemos usar essas medições para realizar otimizações, estipular metas e, o mais importante,planejar capacidade e escala.
Neste artigo, discutiremos duas outras ferramentas do ofício: SQL Server™ Profiler e SQL Server Query Analyzer. Sabemos que a maioria dos desenvolvedores ASP.NET não estão familiarizados com estas ferramentas SQL-oriented, porém queremos fortemente encorajá-los no sentido de acrescentá-las aos seus "cintos de ferramentas". Particularmente, se pudéssemos ter trabalhadoem qualquer outro time de produtos além do ASP.NET durante nossa passagem pela Microsoft, teria sido com o time do SQL Server. Internamente, o SQL Server é um software incrivelmente complexo, mas programá-lo e usá-lo é bastante fácil. Entender um pouco desta complexidade é importante porque, como veremos, o banco de dados é freqüentemente o gargalo de desempenho da nossa aplicação e, quanto maissoubermos sobre os internals do SQL Server, quanto mais poderemos fazer para evitar esses problemas.
Acesso de Dados otimizado
Quanto tempo gastamos analisando o modo como nossa aplicação usa os recursos do banco de dados? Para os desenvolvedores, a resposta mais comum é "não muito". Tipicamente a maioria dos problemas de desempenho, são resolvidos de uma das duas maneiras seguintes: adicionandonovo hardware ou fazendo o ajuste fino do código que roda a aplicação. A maioria dos desenvolvedores prefere fazer o ajuste fino do código, mas às vezes, pode ser realmente mais efetivo simplesmente adicionar novo hardware. No entanto, deveríamos levar em conta que às vezes, estes problemas de desempenho podem ser piorados pela adição de hardware novo, sem termos antes analisado os gargalos dedesempenho existentes. Se um gargalo de desempenho estiver sendo provocado pelo software, ter hardware executando rapidamente irá enfileirar mais pedidos, o que acabará piorando a situação. Como sempre, a melhor abordagem consiste em analisar os gargalos de desempenho (de hardware ou software), antes de tomar qualquer providência.
Sendo desenvolvedores, preferimos verificar antes o código e depoispassar para a abordagem de hardware. Uma vez que a decisão foi tomada, normalmente é uma questão de traçar algum perfil básico da aplicação, usando o Application Center Test e identificando em que ponto o desempenho da mesma é fraco. Uma vez que as áreas de problema são identificadas, o próximo passo será usar o SQL Server Profiler para inspecionar como a aplicação usa os recursos do banco de dados.Quando escrevemos aplicações Web de alto-desempenho, nos deparamos com o seguinte truísmo: se nossa aplicação executa qualquer comunicação cross-process (banco de dados, Web services, invocação remota de objeto), nosso tempo será mais bem utilizado para otimizar essas comunicações ou remove-las completamente antes de tentar otimizar qualquer outro código dentro da aplicação. Para otimização dobanco de dados, nossa "regra de ouro" geral é: se a aplicação acessar mais de uma vez o banco de dados ou duas vezes em uma determinada solicitação (ou fizer uma única chamada Web service), tem que existir uma razão muito boa para fazê-lo, porque essas idas e vindas são freqüentemente a causa das aplicações executarem com fraco desempenho.
Nossa equipe da Telligent, acabou de passar as últimastrês semanas fazendo o ajuste fino do nosso Community Server para o forums.asp.net. Fizemos quase 40 modificações relacionadas ao desempenho, das quais 75 por cento no banco de dados, enquanto que os outros 25 por cento estavam diretamente relacionados à codificação de mudanças ou redução / otimização do tempo gasto no banco de dados. As funcionalidades de caching do ASP.NET constituem uma das...
tracking img