Guilherme Carnevale - Premier Field Engineer - LATAM

  • Usando o FREB (Failed Requests Event Buffering) no IIS 7, 7.5 e 8

    O FREB é um recurso muito utilizado para entendermos situações onde acontecem erros que não são simples ou conhecidos.

    Para habilitar podemos usar a console, ou a linha de comando, para facilitar habilita-lo e desabilita-lo abaixo as linhas de comandos :

    1) Os comandos abaixo tem como finalidade: Habilitar o FREB para o Default Web Site / Define diretório padrão e numero máximo de logs para serem coletados

    appcmd.exe set config -section:system.applicationHost/sites /[name='"Default Web Site"'].traceFailedRequestsLogging.enabled:"True" /commit:apphost
    appcmd.exe set config -section:system.applicationHost/sites /[name='"Default Web Site"'].traceFailedRequestsLogging.directory:"%SystemDrive%\inetpub\logs\FailedReqLogFiles" /commit:apphost
    appcmd.exe set config -section:system.applicationHost/sites /[name='"Default Web Site"'].traceFailedRequestsLogging.maxLogFiles:"50" /commit:apphost

    2) Cria regra de coleta para erros 401 e 500 ( Essa regra é apenas um exemplo. Alterar conforme necessidade)
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*']"
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /[path='*'].failureDefinitions.statusCodes:"401,500"
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='ASPNET',areas='Infrastructure,Module,Page,AppServices',verbosity='Verbose']"
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='ASP',verbosity='Verbose']"
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='ISAPI Extension',verbosity='Verbose']"
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='WWW Server',areas='Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI',verbosity='Verbose']"

    3) Desabilita o recurso de coleta de logs avançados.
    appcmd.exe set config -section:system.applicationHost/sites /[name='"Default Web Site"'].traceFailedRequestsLogging.enabled:"False" /commit:apphost

     

  • Ferramenta de troubleshooting de requisições para IIS 7.5 e 8.0

    Criei uma ferramenta para listar as conexões em uso no IIS 7.5 e 8.0 para sistemas x64. A ideia inicial era apenas listagem das paginas em execução, mas foram tantos recursos adicionados que virou uma ferramenta de troubleshooting web.

    Vejam abaixo os recursos disponíveis:

    * Listar conexões web atuais

    * Reciclagem de  Application Pool

    * Tirar dump de processos W3WP.exe que não respondem (clicar com o botão direito sobre o nome do processo W3WP.exe)

    * Filtrar apenas conexões mais lentas que (5,10,20,30,40,50,60) segundos

    * Auto refresh a cada 3 segundos (opcional)

    * Salvar conexões em execução para arquivo CSV

    * Coleta de dados de performance (10 segundos de intervalo/ 1 minuto de intervalo)

    * Coleta de Network Monitor (dados de rede)

    * netstat  /  netstat com filtro por IP

    * netsh http (Comandos todos em tela visual)

    * Coleta de dados de diagnósticos avançado (Event trace for Windows  - ETW)

    * APPCMD via modo visual

    * Criar e listar backups do IIS

    * Ferramenta do Performance Monitor com principais contadores do IIS

    * Atalhos para console do IIS, Services e CMD

    Tela principal:

  • Fluxo de requisições dentro do Internet Information Services ( IIS )

    Qual fluxo de requisições dentro dos componentes do IIS ?

     

    Acima temos um desenho de uma estação com um browser Internet Explorer :-)

    1)     Quando o usuário abre o browser e digita http://www.microsoft.com essa requisição chega até o servidor web, o primeiro componente do servidor após a stack de rede processar esse pacote é o HTTP.SYS que intercepta a resposta (em geral pacotes na porta 80).

    2)     HTTP.SYS consulta o WAS para obter informações do mecanismo de configuração do IIS

    3)     WAS consulta informações no arquivo ApplicationHost.config

    4)     O serviço WWW recebe informações sobre a configuração do Application Pool e Site

    5)     O serviço WWW usa essas informações para configurar o HTTP.Sys

    6)     WAS inicia um novo processo (O “operário” W3WP.exe)

    7)     O W3WP.exe ou na literatura worker process recebe e responde para o Http.sys

    8)     O browser recebe o resultado da pagina.

     

  • Como instalar o ASP.NET 4.5 no IIS 8 ?

    Nas versões anteriores do IIS, o comando aspnet_regiis -I era usado para habilitar o ASP.NET no site/servidor.

    A partir do Windows8/Windows Server 2012 existe um problema usando o aspnet_regiis.

    1. Se voce executar o aspnet_regiis -I para instalar o ASP.NET 4.5 no IIS8, uma mensagem de erro ira aparecer:
     This option is not supported on this version of the operating system. Administrators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Windows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.microsoft.com/fwlink/?LinkID=216771.

    2.Se você criou uma aplicação para executar esses passos automaticamente, ela irá falhar.

    3. Se você instala está com o Windows 8 instalado e tenta habilitar o ASP.NET 4.5 com o comando aspnet_regiis -I a aplicação nao conseguirá habilitar o ASP.NET 4.5

    Qual motivo?

      O utilitario aspnet_regiis.exe nao é mais usado para instalar e desinstalar o ASP.NET 4.5 no Windows 8.

    Para fazer a instalação utilize o comando: dism /online /enable-feature /featurename:IIS-ASPNET45

     

  • Instalar Framework 3.5 no Windows 8 ou Windows Server 2012

    Se você esta tendo problemas na instalação do Framework 3.5, isso é devido a instalação padrão do Windows 8 e Windows Server 2012 não deixar mais todos pacotes do DVD dentro do diretório de cache do Windows.

    Sendo assim para esses pacotes que não estão no servidor, é necessário baixar da internet ou usar o DVD nas instalações.

    Já vi diversos erros de ambientes que estão usando Windows 8 com WSUS sem  atualizações para Windows 8 e recebem erro ao tentar instalar o Framework 3.5

    Nesse caso o jeito mais rápido é usando uma linha de comando:

    dism.exe /online /enable-feature /featurename:NetFX3 /Source:D:\sources\sxs

    Onde D:\ nesse exemplo é o DRIVE de CDROM do computador.

  • DebugDiag 1.2 - Regras de Hang

    A versão do DebugDiag 1.2 traz algumas novidades muito interessantes, e nos fornece um poder muito grande para lidar com problemas criticos e poder capturar o dado correto no momento correto.

    Uma das novidades é a possibilidade de capturar agora dumps de Hang, baseado em contadores de performance.

    Abaixo eu apresento uma tela da criação de regra de HANG baseada em contadores de performance. Isso é excelente para fazer troubleshootings de performance por exemplo.

    image

     

    Existem uma serie de outras novidades uso de ETW para detectar se o IIS esta respondendo ou não, coleta de dump em serie, exportar e importar regras em maquinas diferentes que estarei comentando nos proximos posts.

  • ARR 2.5 publicado no site IIS.NET

    O ARR é um produto OOB ou Out of Band (Não vem junto ao CD de instalação do Windows), mas pode ser instalado gratuitamente em servidores com Windows 2008 / Windows 2008 R2.

    É um otimo produto para fazer balancamento e cache de paginas e videos, principalmente usando o IIS Smooth Streaming.

    As principais novidades do ARR 2.5 em relação as versões anteriores são:

       * Melhoria na performance e escalabilidade quando usando "disk caching".

       * Todas melhorias do artigo KB2406763, agora ja vem com o produto.

        * Adicionado ao WEBPI - Web Plataform Installer.

    Para instalar o ARR, basta baixar o WEBPI e selecionar o ARR 2.5, ou então baixar o pacote do ARR 2.5 no site www.iis.net:

    • Microsoft Application Request Routing Version 2.5 (x86) Clique aqui.
    • Microsoft Application Request Routing Version 2.5 (x64) Clique aqui.

    Para acessar ler um overview sobre o ARR clique aqui.

  • DebugDiag 1.2 BETA1

    O DebugDiag é uma otima ferramenta para depuração de problemas com o IIS (e outros softwares). É possivel capturar e analisar dumps de memoria
    de crash, hang e memory/handle leak. A ferramenta está atualmente na versão 1.1, e apenas é suportada até o Windows 2003 R2 (x86/x64).

    Uma nova versão da ferramenta esta em desenvolvimento (versão 1.2) e em breve sera lançada. Esta versão ira funcionar nos servidores Windows 2008/ Windows 2008R2
    e esta atualmente em sua fase de desenvolvimento BETA1. Caso queira testar, você pode encontrar uma versão para download em:

    http://viisual.net/tools/DebugDiagv1-2Beta/x86/DebugDiagx86.msi
    http://viisual.net/tools/DebugDiagv1-2Beta/x64/DebugDiagx64.msi

    Siga-me no twitter @GCARNEVALE

  • Usando o Process Explorer para mostrar limites de Paged e Non Paged Pool

    O Kernel do Windows possui duas areas onde os drivers são armazenados de vital importância para a estabilidade e performance do sistema operacional.

    Estas areas são chamadas de PAGED POOL (pode ser armazenado no pagefile), e Non Paged Pool estes ficando exclusivamente na memoria RAM.

    Dependendo de alguns fatores do hardware, memoria RAM disponivel e chaves de registro (“Memory Management”), são definidos os tamanhos limites dos POOLs.

    Você deve ficar sempre atento a utilização de sua memoria em kernel,observando o valor atual e o limite, quando o valor atual alcançar o limite, o sistema operacional ficara instavel e você recebera erros ao realizar diversas operações basicas.

    O Process Explorer (Ferramenta da Microsoft/SysInternals), disponivel em http://live.sysinternals.com, facilita verificar os valores limites. Mas para isto é necessário uma configuração a qual explicarei abaixo. Ao baixar a ferramenta e executar (não é necessário instalação), acionando CTRL+I, uma tela System Information aparece, mas os limites dos pools, não aparecem, veja abaixo:

    image

    Para resolver este comportamento e fazer com que o Process Explorer consiga exibir os valores, é necessário configurar os símbolos, clicando em Options / Configure Symbols. É necessário alterar as duas linhas disponíveis, veja abaixo:

    image

    A primeira linha solicita a localização da DLL DBGHelp (por padrão ela é C:\windows\system32\dbghelp.dll), para seja possivel o Process Explorer automaticamente baixar da internet o arquivo de simbolo, é necessario alterar o valor da DBGHelp, pela versão que acompanha o pacote WINDBG (neste exemplo C:\debuggers\dbghelp.dll) , disponivel no site da Microsoft. Na linha do Symbols path: digite SRV*C:\symbols*http://msdl.microsoft.com/downloads/symbols

    PRONTO ! Agora você pode observar o limite e o valor corrente, veja novamente o System Information (CTRL+I).

    image

    Referência para limites máximos de Paged e Non-Paged Pool, lembre-se o valor limite é calculado no momento do boot.

    image

    Caso você não tenha conexão internet no servidor, continue lendo:

    Os passos acima se fazem necessario igualmente, mas devido a você não ter acesso a internet, é necessario usar um utilitario do pacote WINDBG para gerar um arquivo TXT com o arquivo de simbolo necessario, e então em outro computador com acesso a internet você pode utiliza-lo para baixar e enfim levar o arquivo de simbolo para o servidor que nao possui conexão com a internet.

    1. Baixe o Windbg

    2. Instale o Windbg em c:\debuggers (ou outra pasta qualquer)

    3. Execute no servidor: C:\debuggers\symchk.exe /om c:\Lista.txt /if c:\windows\system32\ntoskrnl.exe  (Para sistemas com processador unico)

              Ou: c:\debuggers\symchk.exe /om c:\Lista.txt /if C:\WINDOWS\system32\dllcache\ntkrpamp.exe  (Para sistemas multi-processor)

    4. Execute em uma estação com Internet: C:\debuggers\symchk.exe /im c:\Lista.txt /s SRV*c:\Symbols*http://msdl.microsoft.com/download/symbols

    5. Copie o diretorio C:\symbols da estação para o servidor com o Process Explorer e pronto ! Agora você também pode ver os valores limites do POOL.

  • Troubleshooting IIS Errors

    Em algumas situações de falta de recurso de sistema por exemplo, pode acontecer de você tentar abrir um site, e o Internet Explorer exibir uma pagina já conhecida “The Page Cannot Be Displayed” ou em português “A Pagina não pode ser Exibida”. Na maioria das vezes esta mensagem significa que o servidor web esta realmente fora do ar ou seja, com a porta que recebe as conexões fora do ar mesmo. Mas isto não é verdade para 100% dos casos, então deixo uma dica para vocês terem 100% de certeza antes de pensar que o servidor web esta realmente fora do ar.

    Usem o Internet Explorer como forma de teste inicial, caso recebam a mensagem “The Page Cannot be Displayed”, utilizem o utilitário que é um “Browser Avançado”, chamado WFETCH. Ele não exibe figuras, mas mostra todo conteudo retornado do servidor, e alguns detalhes preciosos que o Internet Explorer não exibe.

    O WFETCH pode ser obtido em conjunto com o IIS 6 Resource KIT ou separadamente através do seguinte link para download:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=b134a806-d50e-4664-8348-da5c17129210&displaylang=en

    Referência de uso: http://support.microsoft.com/kb/284285

  • Ferramenta para otimizar seu site nos sites de pesquisa

    O SEO, ou Search Engine Optimization, ajuda os desenvolvedores dos websites e administradores web a aumentar a relevância dos sites nos sites de busca na internet. O SEO inclui um modulo que analisa o site, configurável e permite encontrar todas as melhores praticas no que sentido de melhorar a relevância dos buscadores na internet.

    O relatório gerado pelo SEO, permite encontrar item por item, e as sugestões de como deixar o item de acordo com as melhores praticas para aumentar a relevância de seu site em um buscador.

    A ferramenta é um modulo adicional que pode ser instalado gratuitamente em qualquer servidor IIS7 ou IIS7.5.

    Para baixar a ferramenta entre no site:
     
    http://www.iis.net/expand/SEOToolkit

     

  • Nova versão do Microsoft WEB Deploy

    Para quem já esta usando o MSDeploy, saiu uma nova versão no dia 04 de Fevereiro, com 3 novidades, além de correções encontradas pelos clientes.

    Novidades no Web Deploy 1.1:
      - Não é necessario mais passar o usuario e senha via linha de comando, é possivel usar o credential store.
        Mais informações sobre este recurso em:
    http://blogs.iis.net/jamescoo/archive/2010/02/07/webdeployment-tool-now-works-with-credential-store.aspx
      - "Code Download", recurso que permite que um servidor/cliente que não tenha uma extensão, se conecte a outro servidor IIS e possa gerenciar.
        Mais informações sobre code download em:
    http://blogs.iis.net/krolson/archive/2010/01/27/code-download-and-the-web-deployment-tool-msdeploy-remote-management-options.aspx
      - Suporte a execução de scripts .SQL
         Mais informações sobre esta novidade em:
    http://blogs.iis.net/krolson/archive/2010/02/02/sqlcmd-scripts-in-web-deploy-msdeploy-v1-1.aspx
      - Correções de problemas sobre Mime, e outras correções.

    Para baixar a versão do WebDeploy 1.1 x86 ou x64, acess o site abaixo:
      
    http://www.iis.net/expand/WebDeploy

  • Usando o Microsoft Web Deploy para sincronizar a configuração do IIS

    A versão final do Microsoft Web Deploy esta pronta e disponivel para download no site: http://www.iis.net/extensions/WebDeploymentTool

    Com o Web Deploy é possivel sincronizar a conifguração do IIS entre servidores, incluindo os arquivos do site se necessário.

    Após realizar o download no site, instale, é necessario que o servidor tenha no minimo o Framework 2.0 com SP1 para instalação e seja um IIS 6, IIS 7 ou IIS 7.5 para que ele funcione.

    Comando para sincronizar configuração do IIS entre dois servidores IIS 6 e não sincronizar arquivos:

    msdeploy -debug -verb:sync -source:metakey=lm/w3svc,computername=ServidorOrigem -dest:metakey=lm/w3svc,computername=ServidorDestino -disableLink:contentExtension

    O parametro –disableLink:contentExtension serve para não replicar arquivos, removendo ele ira replicar inclusive os arquivos do site.

    O paramêtro –debug irá mostrar os erros detalhados, caso ocorram.

    O paramêtro –verb:sync irá sincronizar a configuração entre os servidores Origem e Destino.

    Pode ser usado um parâmetro –whatif no caso de desejar saber qual ação o MSDeploy iria fazer, mas na pratica ele ira apenas mostrar na tela, sem alterar nada no servidor destino, este comando é muito interessante quando se deseja comparar os servidores, mas não efetivamente deixa-los iguais.

    Outro parâmetro que pode ser utilizado no caso de desejar evitar que algum campo do metabase do IIS seja replicado é o: -skip:attributes.name=NomeDaPropriedade do IIS, exemplo: –skip:attributes.name=ServerBindings, com este recurso é possivel por exemplo replicar dois servidores entre si, e ele não levar as propriedades de IP dos sites.

    Também é possível criar pacotes para migrar sites ou publicar de ambiente de desenvolvimento para produção, e ele ir[a migrar:
    - Configuração do site, incluindo banco de dados.
    - Permissões NTFS, pacotes COM, Componentes no GAC e chaves de registro.
    - Realiza a migração através de comando (no mesmo momento), ou exporta para arquivo.
    - Migração de certificados SSL entre servidores.

  • IIS 7 / 7.5 mostrando paginas de erro HTTP em branco

    Com a chegada do IIS 7.0 / 7.5 é possivel customizar quais são os modulos carregados pelo IIS. Isto traz um grande poder de configuração aumentando a segurança e diminuindo a utilização recursos. Mas também pode causar problemas com uma configuração não adequada ou não conhecida.

    A mais comum é a remoção manual dos modulos no applicationHost.config ou ainda a não instalação de modulos comuns. Quando o modulo CustomErrorModule não é instalado, ou removido manualmente, ao acessar paginas que produzam erros HTTP será exibido uma pagina em branco. Isto pode dificultar a resolução do problema. Portanto atenção para erros de pagina em branco para o modulo CustomErrorModule.

  • Erros de script ASP nao são exibidos no Browser – IIS 7

    O primeiro comentario para quem esta migrando do Windows XP para o Windows Vista ou Windows 2008 é que o ASP não é instalado por padrão, sendo assim você pode receber uma mensagem 404.3 no caso de tentar acessar uma pagina sem o modulo ASP instalado:

    HTTP Error 404.3 - Not Found

    Description: The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed.

     

    Quando as paginas ASP apresentam algum erro, o compilador ASP envia ao browser uma mesagem com a descrição do erro e o codigo do erro para facilitar a correção. Este comportamento pode ser alterado atrave’s de uma chave do metabase do IIS.

    Abaixo por exemplo um erro  ASP que era apresentado por padrão no IIS 5 / IIS 6 :

    Microsoft JET Database Engine error '80004005'
    Unspecified error

    A mesma pagina que produzia este erro, quando acessado pleo IIS7 apresentaria a seguinte mensagem:

    An error occurred on the server when processing the URL. Please contact the system administrator

    Com a segurança aumenta, pois o usuario final nao recebe codigos de erro. Para ambientes de desenvolvimento entretando, a primeira visto este recurso pode parecer ruim. Para alterar o comportamento para funcionamento como no IIS6 é posssivel executar o comando abaixo:

    %windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true

    Ou através da interface grafica do IIS 7.0 de acordo com a figura abaixo:

    aspscripterrors

  • Erros detalhados do IIS 7.0

    Um beneficio que acompanha o IIS 7.0 são os erros detalhados. Quando acontece um erro web, em um servidor Windows 2008 com IIS 7.0, é apresentado uma nova pagina de erro padrão, quando acessado do servidor com muito mais detalhes, incluindo modulo, caminho, url requisitada, codigo do erro, passos para correção, links de referência. Já se o usuario acessando a pagina é remoto, o erro aparece basico, sem detalhamento das informações. É possivel configurar para que alguns dos erros também apareçam com os detalhes para todos usuarios.

    Pagina de detalhamento do erro:

     image

    Para configurar cada tipo de erro, abrindo a console do IIS, clicando sobre o nome do servidor, e indo no menu Error Pages, é possivel customizar que tela cada usuario vai ver, veja a tela abaixo:

    image

    Como podemos observar na figura acima, o padrão é exibir erros detalhados para requisições locais (no mesmo servidor), e customizada (basica) para requisições remotas dos usuarios. É possivel alterar este comportamento através das opções disponiveis no menu Edit Feature Settings.

  • Windows 2008 R2 – O que terá de novidade no IIS ?

    O Windows 2008 R2 esta em desenvolvimento, e trara novidades para o webserver IIS, já embutidas no sistema operacional, algumas delas estão listadas abaixo:
      - Novo serviço de FTP (disponivel para download no site http://www.iis.net)
      - Pacote Administrativo integrado (Admin Pack)
      - Extensões do PowerShell para gerenciamento do IIS
      - Execução de paginas .NET nas edições Server Core
      - Melhorias no FastCGI
      - Suporte a restrições IPV6 na lista de liberação/bloqueio de IP's
      - Suporte a application pool warm-up
      - Possibilidade de delegar a customização de paginas de erro
      - Novos contadores de performance, por Application Pool

  • URLSCAN 3.1

    URLScan é uma ferramenta de segurança que restringe certos tipos de requisição HTTP de serem processadas pelo IIS. URLScan trata todas conexões entrantes no servidor, filtrando as requisições baseados em regras que o administrador cria. Filtrando as conexões ajuda na segurança do servidor, garantindo que apenas requisições validas são processadas.

    A maioria dos ataques compartilham as mesmas caracteristicas, fazendo a requisição de um modo não usual de alguma forma.

    Filtrando as requisições com as caracteristicas não usuais, o URLScan ajuda a previnir que estas requisições sejam
    processadas pelo servidor, causando dano.

    Features

    • Novo instalador, permite você instalar o URLScan 3.1 em IIS5.1 ou superior, incluindo o IIS 7.0
    • Regras de DENY podem ser aplicadas por URL, query String, todos headers, um header em particular ou a combinação deles.
    • Multiplas instâncias do URLScan podem ser instaladas como filtro aos sites, cada uma com sua configuração de log.
    • Configuração de notificação de mudanças são propagadas para o worker process sem ter que reinicia-lo.

    Para fazer o download do URLScan 3.1:

    x86: http://www.iis.net/downloads/default.aspx?tabid=34&i=1697&g=6

    x64: http://www.iis.net/downloads/default.aspx?tabid=34&i=1698&g=6

  • IIS Administration Pack para o IIS 7.0

    Este pacote pode ser instalado adicionalmente no IIS 7.0 para ajudar na administração do servidor.

    Para instalar o IIS Administration Pack para o IIS 7.0, faça o download na seguinte URL:

    http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1682

    Instalando este pacote, você terá novos modulos na console do IIS 7.0, como por exemplo:

    Configuration Editor

    O Configuration Editor ajuda você a gerenciar os arquivos de configuração. Este modulo só é disponivel para os administradores do servidor, ele permite você editar qualquer seção, atributo, elemento ou coleção no seu arquivo de configuração.

    IIS Reports

    Este modulo permite você ver estatisticas importantes sobre seu website. Você também pode customizar, para ter seu proprio relatorio,e com isto ter informações importantes para seu negocio.

    UI Extensions

    UI Extensions permite você gerenciar as seguintes tecnologias via console do IIS:

    • FastCGI module
    • Autorização e customização de erros para ASP.NET
    • HTTP Request Filtering

    Abaixo um exemplo, de um grafico gerado com o pacote de administração do IIS 7.0.

    Neste grafico, podemos observar quais paginas mais demoram para ser processadas, através do campo que é registrado no log do IIS (Time-Taken).

    Você também pode habilitar este campo no IIS 5 e IIS 6 para realizar estatisticas como esta, usando o logparser.

  • Como utilizar o ASP.NET 3.5 no IIS 6 ou IIS 7

    A maioria das pesoas quando instalando o Framework 3.5 esperam ver uma entrada no IIS na tab de ASP.NET a mais para o ASP.NET 3.5.
    Se você também, continue lendo. Mesmo que voce tente registrar usar o aspnet_regiis -i a partir da pasta v3.5, isto não vai registrar nada no IIS. Como as versões anteriores que atualizavam o "ScriptMaps".

    Observe agora a pasta de instalação do framework 3.5, voce não ira encontrar mais os arquivos de configuração para o ASP.NET (aspnet_isapi, aspnet_filter.dll / aspnet _regiis ....)

    O motivo disto é que a versão 3.5 não é um "padrão", como as versões 2.0 e 1.1. A versão 3.5 é apenas uma extensão ao framework 2.0. Esta extensão
    permite aos desenvolvedores novos recursos tasi como: Tipos Anonimos, Expressoes Lambda, LINQ e o AJAX agora esta integrado.

    Sendo assim, para usar o ASP.NET 3.5 basta que você instale o FrameWork 3.5, para isto faça o download:

    http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe

    Após instalar o framework 3.5, configure seu site no IIS 6 ou IIS 7 como versão 2.0 e pronto. Todos recursos do ASP.NET 3.5 estão disponiveis para você utilizar.

  • Suporte a extensões FASTCGI no IIS 6.0 - Windows 2003

    Com a extensão FASTCGI no IIS 6.0 a performance de execução de cgi é maior que no modo padrão. O IIS 7.0 no Windows 2008 traz este suporte já com o sistema operacional. No IIS 6.0 é necessario baixar o pacote separadamente.

    CGI são programas que são executados a cada requisição web. Quando o numero de conexões é alta, o numero de processos criado no servidor serão alto também, degradadando cada vez mais a performance.

    FastCGI resolve este problema de performance, criando um mecanismo de reutilização dos processos para diversas conexões. Garantindo que cada processo ira atender apenas uma requisição por vez.

    As configurações podem ser feitas no fciext.ini. Para detalhes na documentação do arquivo bem como instalação clique aqui.

    Para baixar o pacote de instalação FAST CGI para o IIS 6.0 clique aqui.

  • Como instalar o ASP.NET 1.1 no IIS 7 (Vista e Windows 2008)

    - O ASP.NET 2.0 é facilmente habilitado no IIS 7 pois ja acompanha o sistema operacional. Bastando para habilita-lo
    selecionar o componente "ASP.NET" na lista de componentes abaixo da categoria "Applicaiton Development Features".

    - Já o ASP.NET 1.1 não acompanha o WIndows Vista e o Windows 2008, sendo necessário a instalação manual. Para isto siga os passos abaixo:

    Antes de instalar o pacote do framework 1.1, existe um pre-requisito, instalar a compatibilidade do metabase com IIS 6.
    Para isto no Windows Server 2008, clique em "Start" e "Server Manager". Clique em Server Manager, Manage Roles, e então. IIS. Do lado
    direito na area "Add Role Services". Confirme se esta marcado o "IIS Metabase Compatibility", caso não esteja, marque.

    enableASPNET11_clip_image006

    No vista clique em Start / Run / Digite OptionalFeatures, para instalar a compatibilidade do metabase.

    Neste ponto já podemos proseguir com a instalação do FrameWork 1.1. Os links para download estão logo abaixo:

    Framework 1.1 Redistributable Package

    Framework 1.1 Service Pack 1

    ASP.NET Security Update for ASP.NET 1.1

    Observe que após a instalação do Framework 1.1, é necessario a instalação do Service Pack 1 obrigatoriamente, caso contrario, ira acontecer problemas de queda inesperada de worker process.

    Agora já temos instalado a compatibilidade do metabase do Framework 1.1 instalado. Vamos para o proximo passo habilitar o ASP.NET 1.1

    Para habilitar o ISAPI do ASP.NET 1.1 abra a console do IIS Manager. No modo de visualização "Features", clique em "ISAPI and CGI Restrictions".
    No Painel de Ações clique em "Add".

    Agora complete com:
     Extension: C:\Windows\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll (Depende de sua instalação do Windows)
     Description: ASP.NET v1.1

    Se voce estiver usando a configuração do IIS em arquivos web.config, o ASP.NET 1.1 irá apresentar problemas. Para evitar estes erros é necessário
    configurar o Machine.config do Framework 1.1, fazendo com que ele ingore as sessões de configuração do IIS. Para isto abra o machine.config,
    localizado no diretorio (%windir%\Microsoft.NET\Framework\v1.1.4322\config\machine.config).

    E adicione o seguinte codigo logo abaixo do elemento: <configSections>

    <section name="system.webServer" type="System.Configuration.IgnoreSectionHandler,
        System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </configSections>

    Agora já temos o IIS 7.0 pronto para executar paginas ASP.NET 1.1 !

    Para configurar um site para executar ASPNET 1.1:

    appcmd set app "Default Web Site/" /applicationPool:"ASP.NET 1.1"

    Para criar um novo Application Pool usando o Framework 1.1 voce pode usar o comando:
    appcmd add apppool /name:"NewPool"  /managedRuntimeVersion:"v1.1"

    Para maiores informações use a documentação online.

  • Backup e Restore do IIS 7.0 em modo de configuração compartilhado

    Neste post vou explicar como funciona o backup e restore do IIS 7.0 no modo de configuração compartilhado.

      Um novo recurso no IIS 7.0 é o modo de configuração compartilhado, onde é possivel armazenar seu arquivo de configuração
    (applicationHost.config) em um compartilhamento na rede (caminho UNC).
      Quando o IIS 7.0 esta operando neste modo e você tenta realizar o backup usando o comando "appcmd add backup", os arquivos
    que serão gravados no backup são:

    • config\applicationHost.config
    • config\administration.config
    • config\redirection.config
    • config\metabase.xml
    • config\mbschema.xml
    • Todas customizações dentro do diretorio config\schema.

      Percebe-se que não é copiado o arquivo da rede, o seja o backup do arquivo applicationHost.config que esta em operação não
    é copiado. Mas o redirection.config, onde esta armazenado o caminho de onde o arquivo de configuração esta, este sim é parte
    do backup.

      Ou seja, neste modo, o backup do servidor remoto onde esta o arquivo de configuração applicationHost.config deve ser realizado,
    e não pode ser esquecido. É necessario manter o backup local, e o backup do caminho rede rede UNC onde o arquivo de configuração se
    encontra.

  • Suporte para administração ao IIS 7.0 via PowerShell

    Com o suporte a administração ao IIS7.0 agora com o PowerShell, você consegue fazer as seguintes tarefas:

    - Crie websites, aplicações, diretorios virtuais e Application Pools
    - Altera configurações de websites, application pools, aplicações e diretorios virtuais
    - Adiciona e altera configurações complexas
    - Consulta dados em tempo real (Status do WEbSite , Application Pool, Conexões em execução)
    - Executar configurações avançadas, Scripting, integração com outras extensões do PowerShell

    Para fazer o download clique nos links abaixo (Tech Preview 1 - IIS 7.0 PowerShell Provider):

    x86: http://www.iis.net/downloads/1664/ItemPermaLink.ashx
    x64: http://www.iis.net/downloads/1665/ItemPermaLink.ashx

  • IIS 7 Administration Pack Technical Preview

    No dia 20 de março de 2008 foi lançado o pacote de administração para o IIS 7.0 versão "Technical Preview".

    Este é um pacote de que contem diversas extensões para gerenciar o IIS em modo grafico.

    O que foi adicionado ?

    - ASP.NET Authorization Rules UI
    - ASP.NET Error Pages UI
    - Configuration Editor
    - Database Manager
    - FastCGI UI
    - IIS Reports (Caso não queira usar o LogParser, veja este recurso!)
    - Request Filtering (Faça a segurança do seu servidor por esta interface)

    Caso deseja fazer o download do pacote administrativo do IIS7.0 "Technical Preview", clique nos links abaixo:

    IIS7 Administration Pack (x86)
    IIS7 Administration Pack (x64)

    Informational Step-by-Step Guides for Admin Pack