Conheça as novidades no IIS 8.5


IIS 8.5

Na nova versão do Windows Server 2012, foram implementadas melhorias no IIS 8.5, confira abaixo:

Enhanced Logging

Com essa opção é possível registrar os campos personalizados do pedido ou resposta do cabeçalho, ou ainda  a partir de alguma variável do servidor.

Logging to Event Tracing

Com essa opção o administrador tem a opção de envio de informações de log do rastreador de eventos s para o Windows (ETW). Na versão anterior não era possível visualizar o LOG do IIS porque estava sendo utilizado pelo processo, e era demorado o processamento do LOG no disco, com essa opção é possível visualizar o LOG em tempo real.

Dynamic Website Activation

Quando existe um número muito alto de sites configurados, 100 ou maior por padrão, você utiliza essa opção para reduzir o tempo de inicialização do site e utilização de memória. Quando era inicializado um servidor de IIS, os sites eram automaticamente iniciado, e ao iniciar todos de uma vez o consumo de um site pode ser maior do que o normal, e por outro lado alguns não utilizam tantos recursos assim e não tinham muitos acessos.

Idle Worker Process Page-Out

Com essa opção é possível suspender um worker process ocioso ao invés de finaliza-lo. A vantagem de utilizar essa opção é para liberar recursos no servidor como Memória e CPU, até a versão anterior (8.0) era possível você finalizar um worker process após um tempo  ocioso, isso era ruim, pois quando tinha a primeira requisição o worker process era iniciado novamente, tornando mais lento o primeiro acesso.

Nós próximos artigos vamos entender como é ativado cada uma dessas funcionalidades novas.

Você conhece o HTTP.SYS?


Bom pessoal, após algum tempo sem escrever para vocês, hoje volto com um post curto, porém interessante para que vocês conheçam um pouco sobre a arquitetura do IIS, é um processo importante, e é preciso conhecer, pois alguns problemas podem ser tratados nesse nível.

O HTTP.SYS é conhecido como Hypertext Tranfer Protocol Stack, é implementado como driver em modo kernel na instalação do IIS. O HTTP.SYS escuta todas as requisições HTTP (Porta 80) que são enviadas para o IIS, ele possui alguns beneficios como:

  • Cache do modo kernel : Os pedidos de respostas em cache são servidos para o modo usuário sem que seja alterado o conteúdo.
  • Modo kernel pedido filas: Pedidos causam menos sobrecarga na mudança de contexto, pois o kernel encaminha solicitações diretamente para o processo correto, caso não tenha nenhum processo disponível para aceitar um pedido, a fila de que está em modo kernel mantém o pedido até que um processo de trabalho esteja disponivel.
  • Solicitação de pré-processamento e segurança de segurança.

 

A ideia para esse ano é falarmos muito sobre o IIS 8.5, e ajudar vocês administradores a conhecer melhor o produto e implementar da forma correta, pois acreditem o IIS não é apenas NNF (Next, Next, Finish).

Até breve,

Erick Albuquerque

2013 in review


The WordPress.com stats helper monkeys prepared a 2013 annual report for this blog.

Here’s an excerpt:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 37,000 times in 2013. If it were a concert at Sydney Opera House, it would take about 14 sold-out performances for that many people to see it.

Click here to see the complete report.

Ferramenta de troubleshooting de requisições no IIS 7.5 e 8.0


Pessoal,

O PFE Guilherme Carnevale desenvolveu uma ferramenta para troubleshoting de requisições no IIS 7.5 e 8.0, abaixo estão listados os principais recursos, bem como o link para download, veja:

  • 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

5873.reqviewer

Clique aqui para fazer o Download do ReqViewer:

Troubleshooting: System.UnauthorizedAccessException


Ao criar uma notícia é gerado um .xml no servidor01 e em seguida este XML é copiado imediatamente para o servidor02, ao acontecer este processo ocorre o erro System.UnauthorizedAccessException (ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identify, ASP.NET has impersonate=”true” />, the identify will be the anonymous user (tipically IUSR_MACHINAME) or the authenticated request user;

To grant ASP.NET acces to a file, rigth-click the file in Explorer, choose “Properties” and select the Security Tab. Click “add” to add the apropriate user or group.

 

 

 

Resumindo a mensagem acima, mesmo setando permissão para o usuário que executa o Application Pool e ASP.NET o problema ocorria, resolvi simular o problema novamente porém utilizando o Process Monitor, veja:

 

* Após capturado todos processos que ocorrem durante o problema, filtrei pelo PID do processo W3WP que estava sendo executado o site em questão.

 

Ao começar a analisar notei que o xml era criado ou atualizado, porém na hora da copiar ocorria o “acesso negado”, um pouco mais abaixo na linha que está grifado de azul é o momento que o arquivo é copiado para o servidor02 com passagem de parâmetros de usuário e senha, logo de cara vi que que o usuário que estava sendo passado como credencial para o servidor02 era um usuário local do servidor01, sem duvidas daria acesso negado, pois o usuário local é para ser utilizado no servidor LOCAL e não no remoto.

Próximo passo foi localizar o web.config que estava setado este usuário, apenas um parenteses (Este usuário existia nós 2 servidores, inclusive com a mesma senha), no web.config estava sendo passado o usuário da seguinte forma SERVIDOR01\usuario, o que fiz foi apenas alterar para “usuario”, desta forma não era passado nenhum parametro de servidor l0cal ou remoto, mas sim apenas o usuário.

Até mais,