Otimizações de ASP

1)Option Explicit
Utilize sempre a opção Option Explicit em suas páginas ASP.
Utilizando Option Explicit, além de melhorar a performance das páginas você detectará erros de digitação imediatamente, evitando horas de depuração de código para descobrir que o problema era uma variável com alguma letra trocada.

2)Alternação entre códigos ASP e HTML <% %>
Evite ficar alternando entre códigos ASP e HTML <% %>, a alternação entre códigos afeta diretamente a performance da página.
Abaixo segue exemplo de como melhorar a performance de suas páginas retirando a alternação entre códigos:

Código de baixa performance:
<%Do Until rsLinks.EOF %>
<a href=”<%=rsLinks(“URL”)%>”><%=rsLinks(“NomeSite”) %></a>
<%rsLinks.MoveNext%>
<%Loop%>

Código de alta performance:

<%Do Until rsLinks.EOF
Response.Write “<a href=””” & rsLinks(“URL”) & “””>” & rsLinks(“NomeSite”) & “</a>”
rsLinks.MoveNext
Loop%>

3)Uso de funções / Variáveis de módulo
Nunca escreva grandes trechos de códigos diretamente nas páginas, no formato conhecido como código lingüíça. Use sempre Subs ou Functions para estruturar seu código. Um código bem estruturado facilita a manutenção e evita o uso desnecessário de recursos.
Limite-se ao uso de If ou Select Case e chamadas de funções diretamente na página.
Declare as variáveis dentro das funções ou subs, desta maneira menos recursos serão gastos. Em alguns casos são necessárias algumas variáveis de módulo para uso em várias funções, limite-se a variáveis de tipo simples (inteiras, strings, boleanas e etc), nunca declare variáveis do tipo Recordset fora de funções (em módulo).

4)Sessions
As variáveis de Session são muito úteis, porém perigosas. Uma variável Session ocupa espaço diretamente na memória RAM do servidor.
Recomenda-se armazenar em Session apenas o informações do tipo Id do usuário e controles de acesso, as demais informações devem ser armazenadas em Cookies

Você pode desabilitar o controle de Sessão em páginas que não necessitam, isso economiza recursos. Para desabilitar o controle de Sessão utilize o comando abaixo:
<%@ EnableSessionState=False %>

5)Leitura/Atribuição de Coleções (Request, Session, Application, Recordset, etc…)
A leitura e atribuição de valores à coleções é um processo lento, se sua página efetua repetidas leituras ou atribuições à coleções (Request.Form(“parametro”), Request.QueryString(“parametro”), Session(“variavel”), Application(“variavel”) ou RecordSet(“campo”)) atribua o valor a uma variável e sempre que necessário utilize a variável.

6)Conversões Explicitas (Tipos de variáveis)
As linguagens de script não possuem tipos de variáveis declarados, para garantir a segurança e estabilidade de aplicação utilize sempre conversões ao atribuir valor às variáveis. Exemplo:
intCdAssunto = CInt(Request.QueryString(“CdAssunto”))

7)Includes
O uso de includes é muito útil e recomendado. Porém você precisa saber como os includes funcionam para utilizá-los de forma correta.
O Web-Server (IIS) substitui as chamadas dos includes pelos seus respectivos códigos antes de qualquer outra ação. Portanto a página ASP só será processada após todos os includes serem substituídos. Abaixo algumas dicas para o uso dos includes:

Não utilize includes de forma indiscriminada, pois quanto mais includes existirem em suas páginas mais tempo elas irão demorar para serem processadas.
Utilize os includes para uso de funções comuns.
Não utilize includes para estruturar o site, se uma página possuir um If ou um Select Case para escolher qual include utilizar, então, está na hora de você pensar em transformá-la em duas ou mais páginas distintas.
Nunca utilize duas chamadas do mesmo include na mesma página, se for necessário utilizá-lo duas ou mais vezes, transforme-o em uma função, declare o include no topo da página e efetue a chamada da função quantas vezes forem necessárias.
Evite o uso de includes dentro de includes, isso gera muita confusão no código.

8)Request
Evite o uso do Request(“atributo”), sempre que possível utilize a coleção à qual você deseja efetuar o Request (Request.Form, Request.QueryString, Request.Cookies). O uso do Request deixa a página mais lenta.

9)Cursores de Recordset
O tipo e a localização do cursor do recordset podem mudar drasticamente a performance da sua aplicação ASP.

A propriedade CursorLocation determina onde ficará o controle do cursor: Client ou Server. Sempre que possível utilize o cursor Server, se for necessário utilizar cursor Client, garanta que poucos registros serão retornados. O cursor Client traz todo o recordeset para a memória, e no caso de aplicação Web, fica na memória do Web-Server, um cursor Client com muitos registros em uma página que tem muitos acessos simultâneos pode gerar graves conseqüências.

A propriedade CursorType determina o tipo de cursor a ser usado: ForwardOnly, KeySet, Dynamic, Static. Em 90% dos casos o cursor ideal é o ForwardOnly pois é o cursor que tem menos recursos e menos custo. Evite atualizar, inserir e deletar registros através de cursores, prefira stored procedures ou instruções SQL.

10)Tratamento de Erro
O tratamento de erro em ASP é um grande problema, mas existe uma ótima solução para resolver a deficiência do ASP.
O On Error Resume Next é o único tratamento possível, porém se for usado de forma errada ele torna-se péssimo.

Veja o exemplo abaixo do uso do On Error Resume Next:
<%
On Error Resume Next
Call SuaFuncao()

If Err.Number <> 0 Then

Call LogarErros()
End If
On Error Goto 0
Sub SuaFuncao()

End Sub
Sub LogarErro()
Response.Write “Ocorreu um erro inesperado (” & Err.number & ” – ” & err.Description & “)”
Response.End
”SEU CÓDIGO PARA LOGAR EM BANCO DE DADOS, EVENT VIEWER, EMAIL, ETC…
End Sub
%>

Fonte: www.superasp.com.br

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: