Não publique aplicações com Debug ativado – Asp.Net Performance

Olá pessoal,

Vamos às dicas simples de performance de aplicações Asp.Net.

A dica do dia é: Desabilitar o debug=”true” em todas as aplicações.

É muito importante para servidores de produção assegurar que suas aplicações não estão sendo sendo executadas com debug=”true” e tracing habilitado.

Entre os impactos de performance podemos listar alguns:

  • Não há a compilação em lote, ou seja, cada página é compilada em uma Dll separada na pasta Temporary Asp.Net Files (quando debug=false, todas há uma otimização agrupando várias páginas e ascx em um único arquivo.) na compilação em runtime.
  • Os requests asp.net não entram em timeout;
  • Compilação em debug mode torna a aplicação lenta a fim de permitir o debug linha-a-linha
  • WebResources não são cacheados.

Para evitar esse tipo de problema assegure-se que as aplicações não estão sendo publicadas em modo debug. Isso é feito no web.config da própria aplicação, na tag compilation, dentro de system.web (o valor default é false, se não especificado:

<configuration>
   <system.web>
      <compilation debug="false">
         <assemblies>
            <add assembly="*"/>
         </assemblies>
      </compilation>
   </system.web>
</configuration>

Caso a aplicação tenha um servidor específico para produção uma forma de se evitar enganos é especificar no arquivo machine.config a propriedade retail=”true” (o valor default caso não especificado é false, então é preciso modificar/inserir). Essa propriedade é prioritária em relação à anterior, ou seja, mesmo que as aplicações estejam com debug=”true”, se a propriedade retail da tag deployment estiver true, o debug=”true” será ignorado.

<system.web>
    <deployment retail="true" />
</system.web>

Referências:

http://blogs.msdn.com/b/tess/archive/2006/04/13/575364.aspx

http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx

http://msdn.microsoft.com/en-us/library/ms228298(v=vs.80).aspx

http://msdn.microsoft.com/en-us/library/s10awwz0(v=vs.80).aspx

Tagged on: ,

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>