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

Diagrama de arquitetura no IIS 7/7.5


Introdução

O diagrama abaixo mostra as peças fundamentais na arquitetura do IIS 7/7.5

Conhecendo a arquitetura

  • A configuração é armazenada no “applicationhost.config
  • HTTP.sys é o componente do modo kernel que escuta a rede, aceita conexões, atribui pedidos para as filas do Application Pool, o HTTP.sys tambem responde por caches.
  • O Worker Process(w3wp), hospeda todos os códigos personalizados, como: ASP, paginas em ASP.NET, modulos de filtro (ISAPI), extensões e etc.
  • O Windows Activation Services (WAS), é um serviço do sistema que é executado pelo SVCHOST.exe. O WAS lê a configuração do applicationhost.config, gerencia Worker Process, gerencia o tempo de vida e saúde, recicla se necessário e evita o esgotamento de recursos.
  • O W3SVC configura o HTTP.sys com as urls para “escutar” as requisições e é chamado pelo HTTP.sys, se as requisições chegam o Worker Process processa apenas o necessário.
Com as explicações acima, fica mais facil se guiar na hora do troubleshooting.
Erick Albuquerque Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/

Configurações de falha no Application Pool


Introdução

Através do Rapid-Fail Protection você configura ações que devem ser tomadas em caso de falha no Application Pool.

Configurações 

“Service Unavailable” Response Type

HttpLevelSe o Application pool parar, o HTTP.sys retornara uma mensagem de erro “HTTP 503” no browser.

TcpLevel: Se definido como TcpLevel, o HTTP.sys redefine a conexão, se caso possuir um Balanceador de Carga, o TcpLevel reconhece o tipo de erro e redireciona para um outro servidor.

Enabled

True: Se definido como “true”, o Application pool e’ desligado se houver um numero especificado de crashes (Maximum Failures) e especificado o período de falhas (Failure Interval). Por padrão o Application Pool e’ desligado se houver 5 crashes em um intervalo de 5 minutos.

False: Se definido como falso não terá nenhuma ação.

Failure Interval (minutes):  O período de intervalo e’ definido em minutos, durante o numero especificado de falhas do Worker Processes (Maximum Failures), deve ocorrer antes que o Application Pool ‘e desligado pelo Rapid Fail Protection.

Maximum Failures: Define o numero máximo de falhas antes que o Application Pool seja desligado pelo Rapid Fail Protection.

Shutdown Executable: Roda um executável quando o Application Pool ‘e desligado pelo Rapid Fail Protection, normalmente utilizado para redirecionar o trafego para outro servidor.

Shutdown Executable Parameters: Parâmetros que são executados quando o Application Pool ‘e desligado pelo Rapid Fail Protection.

—-

Erick Albuquerque Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/