April 18, 2011

Como configurar a reciclagem periódica de um pool de aplicativos no iis7

A Reciclagem de um pool instrui o IIS a retirar qualquer processo de trabalho atual automaticamente após ele ter executado as solicitações existentes. O benefício é que os usuários não verão uma interrupção nos serviços em seu computador, mas o processo de trabalho será substituído por um novo o mais rápido possível. Geralmente a reciclagem de pools de aplicativos é executada quando problemas como vazamentos na memória ou consumo de recursos tendem a aumentar significativamente com o tempo. Quase sempre, a causa dessa disfunção é um defeito ou outro problema no código do aplicativo. A solução ideal é corrigir o problema no aplicativo subjacente. No entanto, é possível resolver pelo menos os sintomas usando a Reciclagem.

Em alguns casos é possível reciclar automaticamente processos de trabalho com base no uso de recursos ou em momentos específicos. Você pode acessar essas opções conforme o tutorial abaixo.

1. Abra o IIS 7/7.5

2. No Painel selecione “Application Pools” (ou Pools de Aplicativos em pt-br)

3. Em Application Pools selecione o Pools desejado e clique com o botão direito e clique em Recycling (ou Reciclagem em pt-br)

4. Na janela Recycling Conditions (ou “Condições de Reciclagem”) do Edit Application Pool Reciclagem Settings Wizard ( ou Assistente de Configurações da Reciclagem do Pool de Aplicativos), seleciona-se pelo menos uma das opções na seção intervalos fixos, digite os valores nas caixas de texto apropriado, e então clique em Avançar, conforme imagem abaixo:

As principais opções de configurações de reciclagem são Fixed Intervals (que é baseada em momentos específicos ou após uma quantidade fixa de solicitações serem processadas) ou Memory Based Maximums. As opções mais apropriadas dependerão dos problemas específicos que você estiver tentando solucionar ou evitar. Em geral a reciclagem de pools de aplicativos pode reduzir o desempenho muito rapidamente. No entando, quando um aplicativo Web tem problemas sérios, é preferível resolvê-los através da reciclagem de processos de trabalho antes que os usuários percebam demoras ou erros no site.

5.  (Opcional) No Log de eventos de reciclagem você seleciona quais os eventos devem ser registrados no log, e, em seguida, clique em Concluir.

O registro de eventos de reciclagem de pool de aplicativos também é uma parte importante do processo para assegurar que o servidor Web e seus aplicativos sejam executados como esperado. Por exemplo, se você configurar os limites máximos de memória provavalmente vai querer saber a freuência com que o pool de aplicativos foi reciclado.

Também é possível fazer a configuração da reciclagem através do arquivo ApplicationHost.config usando o elemento <recycling>, estarei abordando em um futuro artigo.

 

May 5, 2010

ASP3 : Usando global.asa

O arquivo Global.asa é um arquivo opcional que pode conter declarações de objetos, variáveis e métodos que podem ser acessados por todas as páginas em uma aplicação ASP3.

Global.asa

No Global.asa você pode informar o aplicativo, sessão de objetos, o que fazer quando o aplicativo for iniciado, e o que fazer quando o aplicativo for fechado. O código para isso. O arquivo Global.asa pode conter quatro tipos de eventos:

Application_OnStart – Quando o usuário solicita a primeira página em um aplicativo ASP (Primeiro Usuário).

Session_OnStart – Quando o usuário solicita a primeira página em um aplicativo ASP.

Session_OnEnd - Toda vez que um usuário termina uma sessão. Um usuário da sessão termina depois de uma página não foi solicitado pelo usuário por um tempo especificado (por padrão é 20 minutos, mas você pode alterar esse tempo).

Application_OnEnd – Ocorre após o último usuário tenha terminado a sessão.

O Global.asa é usado da seguinte maneira:

<script language=”vbscript” runat=”server”>

sub Application_OnStart
codigo
end sub

sub Application_OnEnd
codigo
end sub

sub Session_OnStart
codigo
end sub

sub Session_OnEnd
codigo
end sub

</script>

Global.asa EXEMPLO

<script language=”vbscript” runat=”server”>

Sub Application_OnStart
Application(“visitors”)=0
End Sub

Sub Session_OnStart
Application.Lock
Application(“visitors”)=Application(“visitors”)+1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application(“visitors”)=Application(“visitors”)-1
Application.UnLock
End Sub

</script>

Agora crie um aquivo asp e insira o seguinte código:

<html>
<head>
</head>
<body>
<p>Temos <%response.write(Application(“visitors”))%> visitantes online!</p>
</body>
</html>

April 28, 2010

Web.config no Asp.Net 4.0

Se pararmos para comparar o arquivo Web.config desde a versão 1.1 do ASP.NET, hoje temos um arquivo imenso, extremamente crítico, com várias novas configurações como AJAX, roteamento e interação com IIS 7, etc . No .NET Framework 4, as configurações importantes foram movidas para o arquivo Machine.config e as aplicações WEB agora herdam estas definições deste arquivo. Isso permite que o arquivo Web.config no ASP.NET 4 pode estar vazio ou apenas conter as linhas que definem para qual versão do framework a aplicação foi dessenvolvida.

<?xml version="1.0"?>
<configuration>
     <system.web>
          <compilation debug="true" targetFramework="4.0" />
     </system.web>
</configuration>