Optimizar o IIS 5.0

Traduções de Artigos Traduções de Artigos
Artigo: 305313 - Ver produtos para os quais este artigo se aplica.
Este artigo foi publicado anteriormente em PT305313
A Microsoft recomenda vivamente que todos os utilizadores actualizem para o Microsoft IIS (Serviços de informação Internet - Internet Information Services) versão 6.0 do Microsoft Windows Server 2003. O IIS 6.0 aumenta significativamente a segurança de infra-estruturas Web. Para obter mais informações sobre tópicos relacionados com segurança do IIS, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Expandir tudo | Reduzir tudo

Nesta página

Sumário

As informações constantes neste artigo são fornecidas por: Microsoft Press.

Este artigo explica como optimizar o Microsoft IIS 5.0 (Serviços de informação Internet - Internet Information Services). Estas informações são baseadas numa compilação de informações do livro Internet Information Services Resource Guide do Microsoft Windows 2000 Server Resource Kit, capítulo 4: "Capacity Planning" e capítulo 5: "Monitoring and Tuning Your Server." Saber mais acerca de Windows 2000 Server Resource Kit.

Mais Informação

Como poderá tirar o máximo partido do seu Web site em termos de desempenho? Se estiver a efectuar a gestão de Web sites e aplicações em execução no Microsoft Windows 2000 Server e no IIS 5.0, dispõe dos ingredientes básicos necessários para criar um site tecnicamente desenvolvido com capacidade para processar milhares de transacções simultâneas. Contudo, o facto de a plataforma ser excelente não significa que terá necessariamente um elevado desempenho. Se reconhecer algum dos problemas mencionados a seguir (por exemplo, se receber dos utilizadores a informação de que as respectivas ligações ao seu site estão lentas, se os computadores deixarem de responder por um tempo indeterminado durante os pedidos de processamento de páginas ou se der por si a consultar as estimativas do fornecedor relativamente a servidores com maior capacidade de processamento e memória), em primeiro lugar, necessita de saber quais são os factores que afectam o desempenho do seu site e de que modo poderá optimizar o IIS 5.0 no sentido de maximizar o rendimento.

Neste artigo, irá ser estudado o modo como o IIS 5.0 utiliza os recursos do sistema e de que forma poderá ser optimizado com vista a obter um melhor desempenho. Para mais informações sobre este tópico, consulte o livro da Microsoft Press, Microsoft Internet Information Services 5.0 Resource Guide, um volume que consta do Microsoft Windows 2000 Server Resource Kit. Este volume mostra, em detalhe, como efectuar os ajustes necessários para transformar o seu Web site numa ferramenta eficaz. No entanto, este artigo também lhe fornece as informações necessárias para dar início a este processo.

Motivos que estão na origem do fraco desempenho dos Web sites

O que torna um Web site lento? Obterá várias respostas a esta pergunta, mas todas elas se resumem a apenas algumas causas prováveis:
  • A configuração do hardware onde o Web site está a ser executado
  • A configuração do software do servidor Web
  • A largura de banda da ligação à Internet
  • A estrutura e a configuração das aplicações para a Web
  • As características dos computadores dos utilizadores e as respectivas ligações
Se for o administrador da Web, nem todos estes factores estarão sob o seu controlo. É esta a desvantagem. Provavelmente, a largura de banda da ligação à Internet é determinada pelo orçamento em vigor. É possível que tenha pouca influência sobre a estrutura das suas aplicações para a Web, mesmo quando são desenvolvidas a nível interno. E é claro que não poderá ter o controlo absoluto sobre os seus utilizadores. Ainda assim, há muito que está ao seu alcance. Pode começar pelo próprio servidor.

Optimizar o servidor

Para optimizar o desempenho do servidor Web, tem de determinar a melhor configuração em termos de memória, processador, disco rígido e E/S de rede. Embora possa pensar que nunca é demais reservar o máximo de recursos possível, a realidade é bem mais complexa do que isso.

Memória

Pretende optimizar o servidor? Basta adicionar mais memória! Não é esta a opinião generalizada? Se houver um problema de desempenho, adicionar mais RAM deverá ser, com certeza, o suficiente para o corrigir... Se esse fosse o caso, não haveria motivo para continuar com este artigo. Na realidade, até um certo ponto, adicionar memória ajuda. De facto, muitos dos casos que parecem constituir congestionamentos no processador ou disco são, no fundo, problemas de memória. No entanto, feita esta ressalva, adicionar memória poderá prejudicar ainda mais a situação. Mesmo assim, a optimização da memória é o primeiro passo a dar e é, muitas vezes, a forma mais fácil de aumentar o desempenho do IIS.

É importante lembrar que o IIS é executado no Windows 2000 Server, pelo que herda a respectiva gestão de memória. Tal significa que uma grande parte da optimização da memória é automática. O Windows 2000 Server faz o ajuste da quantidade de memória disponível para processos e threads. Também ajusta o tamanho das caches, conjuntos de memória paginada e não paginada, assim como o tamanho dos ficheiros de paginação, de modo a proporcionar um óptimo desempenho. Quando optimiza a memória para o IIS, não está a tentar escolher a quantidade de memória a atribuir a cada processo, thread ou cache, mas sim a determinar se o Windows 2000 tem memória suficiente disponível para efectuar todos os ajustes automáticos que lhe são possíveis.

Como poderá saber se o servidor tem memória suficiente? Em primeiro lugar, há que considerar com que objectivo um servidor Web com o IIS 5.0 utiliza a respectiva memória. O Windows 2000 Server controla a memória atribuindo a cada processo uma parte correspondente de memória conhecida como o respectivo conjunto de trabalho. Em quase todos os casos, os threads individuais de um processo utilizam partes de memória atribuída a partir desse conjunto de trabalho. À medida que um processo avança, o Windows 2000 adiciona mais memória ao respectivo conjunto de trabalho para fazer face às respectivas necessidades. A maior parte da memória atribuída é paginável, o que significa que os dados existentes nessa memória podem ser armazenados temporariamente no disco e colocados novamente na memória RAM quando necessário. No entanto, alguns threads, tais como ligações de TCP/IP, requerem memória não paginável; a memória tem de ser RAM activa, e não um ficheiro no disco. À medida que o número de ligações e outras necessidades de memória não paginável aumentam, o sistema pode ficar sem memória disponível, deixando de poder atribuir mais memória. Esta situação pode levar a uma falha no sistema. Aliás, este é o modo como alguns ataques do tipo denial-of-service funcionam.

O IIS 5.0, tal como qualquer outro programa em execução no Windows 2000 Server, é um processo: inetinfo.exe. Por conseguinte, tem um conjunto de trabalho. O conjunto de trabalho que pertence ao IIS inclui espaço para o código do programa em si, ligações de TCP/IP activas, a cache de objectos do IIS, os ficheiros de registo do IIS e as estruturas de dados de ligação de HTTP. O código do programa pode ocupar até 2,5 MB de RAM, sendo que os outros elementos do conjunto de trabalho podem variar em tamanho de acordo com o número de utilizadores ligados em simultâneo (cerca de 10 KB para cada ligação de TCP/IP, em conjunto com mais KB para os dados de HTTP) e de acordo com o número de Web sites hospedados no servidor (ficheiro de registo de mapeamento de memória com um mínimo de 64 KB por site). Além do conjunto de trabalho do próprio inetinfo.exe, o IIS utiliza a cache de modelos do IIS, a cache de motor de scripts do IIS e a cache do sistema de ficheiros do IIS; três caches que, por predefinição, estão fora do inetinfo.exe, mas que podem ser configuradas de forma a serem executadas dentro do mesmo. O IIS também utiliza a tabela hash Transmission Control Block de TCP e um conjunto de threads para a execução do código. Estes elementos, que são externos ao inetinfo.exe, têm de estar activos na memória não paginada; é absolutamente necessário ter RAM suficiente para que estes elementos possam ser incluídos.

Pode utilizar os contadores disponíveis no Monitor de desempenho para controlar a memória utilizada pelo sistema, bem como pelo próprio inetinfo.exe. O capítulo 5 de The IIS 5.0 Resource Guide, "Monitoring and Tuning Your Server," inclui uma vasta lista de contadores. Seguem-se alguns dos contadores mais importantes:
  • Nomedocomputador\Memória\Bytes disponíveis ? Este contador controla a quantidade total de memória disponível existente no sistema. O sistema operativo tenta manter este valor acima dos 4 MB. Para um desempenho excelente, este valor deverá ser de 5 por cento da RAM total.
  • Nomedocomputador\Processo\Conjunto de trabalho: Inetinfo ? Este contador controla a quantidade de memória utilizada pelo próprio inetinfo.exe. Só obterá o valor mais recente mas, se o observar durante algum tempo, poderá conseguir ter uma ideia da memória que é utilizada pelo IIS.
  • Nomedocomputador\Processo\Falhas de paginação/seg.: Inetinfo ? Este contador controla o número de vezes que o servidor pagina partes do inetinfo.exe para o disco, por segundo. Este número deverá ser o mais pequeno possível.
Resumindo, o que se pretende é ficar com uma ideia da quantidade de memória utilizada pelo servidor e da quantidade de memória que o próprio IIS utiliza. No mínimo, há-de querer ter, pelo menos, memória suficiente para que o inetinfo.exe possa ser mantido na RAM e não paginado no disco, assim como RAM suficiente para executar as caches e outros itens não pagináveis fora do conjunto de trabalho. Para além disso, tem de prever os requisitos de memória das aplicações para a Web em execução. (Por exemplo, muitos dos servidores Web da Microsoft têm, pelo menos, 512 MB de RAM atribuídos às respectivas aplicações para a Web.) Por fim, deverá planear ter RAM suficiente no sistema para poder armazenar na memória todas as páginas estáticas do Web site de modo a acelerar o processo de obtenção e processamento dessas páginas. Ao monitorizar a utilização da memória do computador durante algum tempo e em sobrecarga, conseguirá determinar a quantidade de RAM necessária ao sistema.

Processador

Depois de optimizar a memória, deverá notar que o sistema ficou consideravelmente mais rápido. Mas é possível fazer mais: o processador é uma outra fonte potencial de congestionamento. A razão pela qual procede primeiro à optimização da memória reside precisamente no facto de não querer confundir problemas de memória com problemas do processador. Por exemplo, se o servidor não tiver memória suficiente, poderá demorar muito tempo a paginar threads para o disco. Esse tempo da paginação sobrecarrega o processador e poderá parecer que a raiz dos seus problemas reside num processador sobrecarregado.

Uma vez mais, o Monitor de desempenho pode indicar-lhe as informações de que necessita. Apesar de existirem outros contadores cuja monitorização seria útil (de novo, consulte o capítulo 5 de The Resource Guide), o contador mais crítico é o Sistema\ Comprimento da fila do processador. Este contador indica o número de threads que aguardam que o processador fique disponível. Se este contador tiver um valor superior a 2 durante longos períodos de tempo, o processador poderá estar congestionado.

Relativamente aos servidores com vários processadores, cada vez mais utilizados, tem outro aspecto a considerar: o balanceamento de carga do processador. Um sistema no qual um processador está totalmente ocupado enquanto que outros processadores permanecem inactivos não deixa de estar congestionado, mesmo quando o contador Sistema\% de tempo do processador indica valores mais baixos, uma vez que esse contador regista o valor médio para todos os processadores do sistema por predefinição. Para ter uma ideia concreta, tem de executar o Sistema\% de tempo do processador para cada processador individual.

Se os testes determinarem que tem um problema no processador, a primeira opção consiste, sem dúvida, em actualizar o processador ou mudar para um computador com vários processadores. Se actualizar o processador, certifique-se de que tem a cache L2 máxima; o IIS beneficia com esta situação uma vez que muitos dos respectivos caminhos de instruções envolvem múltiplos componentes, que serão executados mais rapidamente na memória cache. O IIS 5.0 Resource Guide fornece-lhe várias outras sugestões sobre como optimizar o processador.

Disco rígido

Pode efectuar um grande número de alterações à configuração do disco rígido do servidor de modo a tornar a utilização do disco mais eficaz. Como o disco rígido é o repositório da memória paginada, é importante ter em consideração a forma como o servidor processa os ficheiros de paginação. Segue-se uma abordagem a esta e outras sugestões:
  • Aumente os ficheiros de paginação. O ideal seria ter um ficheiro de paginação primário que tivesse, pelo menos, duas vezes o tamanho da RAM do sistema, mais 1 MB. O computador precisa deste espaço para efectuar uma cópia principal da memória em caso de falha.
  • Aumente o número de ficheiros de paginação. Por predefinição, existe um ficheiro de paginação, mas pode e deve configurar um ficheiro de paginação em todos os discos rígidos ligados ao sistema.
  • Utilize a repartição de discos para melhorar o desempenho dos ficheiros de paginação. Se colocar o ficheiro de paginação primário num conjunto de discos repartidos (RAID 0) ou num conjunto repartido com paridade (RAID 5), verificará que o desempenho do ficheiro de paginação aumenta drasticamente.
  • Armazene os ficheiros de registo num disco que não seja o disco no qual as páginas Web estão guardadas. Desta forma, o thread de registo no disco não interfere com os threads que obtêm as páginas Web.
  • Optimize o armazenamento de páginas Web. Todas as páginas Web relacionadas existentes no site deverão ser armazenadas em conjunto na mesma partição lógica; esta disposição melhora o desempenho da cache do sistema de ficheiros. Mantenha também os ficheiros das páginas Web desfragmentados. Desta forma, a velocidade de leitura de um único ficheiro aumenta consideravelmente.

Opções de configuração do servidor

Além das optimizações do hardware, a configuração do software do servidor pode ter um impacto muito significativo sobre o desempenho. Nesta área, o objectivo a ter em mente é "simplificar para acelerar". Pode obter bons conselhos sobre este tópico no livro Microsoft Windows 2000 Server and IIS 5.0 Administrator's Pocket Consultant, uma referência rápida de qualidade e muito útil da Microsoft Press. O servidor Web está dedicado exclusivamente ao IIS? Se não estiver, é um aspecto a corrigir. Se estiver a tentar utilizar o servidor Web para outros serviços da rede, não o faça. Passe esses serviços para outro computador e dedique o servidor do IIS exclusivamente à Web. Assim que o fizer, terá uma série de serviços que, muito provavelmente, poderá deixar de executar nesse computador:
  • Alerta
  • ClipBook
  • Browser de computador
  • Cliente DHCP
  • Servidor DHCP
  • Serviço de fax
  • Replicação de ficheiros
  • Monitor de infravermelhos
  • Partilha de ligação à Internet
  • Mensageiro
  • Partilha remota do ambiente de trabalho do NetMeeting
  • Rede DDE
  • Rede DDE DSDM
  • NetBIOS de NWLink
  • IPX/SPX de NWLink
  • Spooler de impressão
  • Serviço de ajuda NetBIOS do TCP/IP
  • Dispositivos telefónicos
  • Telnet
  • Fonte de alimentação sem interrupção
Antes de terminar qualquer um destes serviços, deverá ter a certeza de que o mesmo não é realmente necessário.

Também pode efectuar outras optimizações na configuração do servidor. Por exemplo, por predefinição, o IIS 5.0 utiliza até 50 por cento da memória do servidor. Esta predefinição permite-lhe suportar outras aplicações que possa precisar de executar no servidor. No entanto, se estiver a dedicar o servidor ao IIS e a remover os serviços desnecessários, poderá aumentar essa percentagem criando e definindo a entrada MemCacheSize no registo do Windows. Uma outra definição que pode ajustar é a definição das propriedades de optimização do servidor na partilha de ficheiros e impressoras: defina-a de modo a maximizar o desempenho de aplicações de rede e, como consequência, o servidor manterá o inetinfo.exe, preferencialmente, na RAM em vez de o paginar para o disco quando a cache do sistema de ficheiros precisar de mais espaço. Existe ainda outra definição que pode ser ajustada: a do comprimento máximo da fila de ligação para os cabeçalhos activos (keep-alives) HTTP. Ao exceder a predefinição de 15, poderá alargar o número de clientes que podem manter ligações de HTTP abertas no servidor entre sessões, reduzindo deste modo o número de ligações novas que têm de ser geradas. Tanto o Resource Guide e Administrator's Pocket Consultant incluem outras definições de sistema que pode ajustar para optimizar a configuração.

NOTA: Se o servidor IIS for membro de um domínio, o serviço auxiliar TCP/IP NetBIOS é necessário para aplicar correctamente a política de grupo ao computador.

Optimizar a largura de banda de rede

Não é necessário aprofundar muito a questão relativa à optimização da E/S de rede porque, na realidade, a maior parte das organizações adquire o máximo de largura de banda cujos custos conseguem suportar. Todos compreendem que quanto maior for a largura de banda, maior será o número de clientes que poderá utilizar o Web site. Na maior parte das vezes, a largura de banda é uma despesa permanente considerável que se torna num encargo importante que escapa ao seu controlo. Contudo, deverá estar ciente de que o The Resource Guide inclui informações substanciais sobre como utilizar o Monitor de desempenho para controlar a utilização da largura de banda de rede pelo Web site. Se analisar a forma como o servidor está a utilizar a respectiva largura de banda disponível, poderá determinar se necessita de adquirir mais largura de banda.

Optimizar aplicações para a Web e páginas Web

Depois de tirar o máximo partido do hardware, optimizar o software e adquirir toda a largura de banda possível, o que mais há a fazer? Em grande medida, tal depende da influência que tem sobre a estrutura do Web site. Se controlar a forma como o Web site é criado, poderá implementar as recomendações que se seguem. Caso contrário, considere-as como sugestões direccionadas para programadores e para a equipa de gestão do seu Web site.

O primeiro passo a dar consiste em analisar o conteúdo do Web site e em torná-lo HTML estático tanto quanto possível. Muito embora a intenção seja a de manter interacções dinâmicas com o utilizador, chegará à conclusão de que muitas das páginas são desnecessariamente criadas a partir de scripts, quando a solução para as diferentes necessidades dos utilizadores poderia passar pelo armazenamento de algumas variações estáticas. O HTML estático é mais rápido e mais fácil de ser disponibilizado do que qualquer outro conteúdo uma vez que não requer processamento por parte do servidor.

Tendo o processamento do servidor no seu melhor estado, o próximo passo a dar consiste em reduzir o período de tempo que o servidor leva a processar scripts e dados para gerar páginas dinâmicas. Assim sendo, o consumidor mais exigente do processamento do servidor é a CGI. Os scripts de CGI ocupam mais recursos de processamento do que as ASP e estas, por sua vez, consomem mais processamento do que a ISAPI. Por conseguinte, converta, tanto quanto possível, os scripts de CGI em ASP e, onde for possível, converta ASP em ISAPI.

Seguem-se mais algumas sugestões:
  • Desactive a depuração de aplicações! A depuração abranda consideravelmente o Web site.
  • Defina cabeçalhos Expire em todas as páginas Web e imagens estáticas. Esta definição permite aos clientes e servidores proxy colocar o conteúdo na cache, o que significa menos pedidos novos para o servidor.
  • Active a colocação de aplicações de ISAPI na cache. Esta estratégia coloca aplicações de ISAPI utilizadas com frequência na memória, onde são mais rapidamente acedidas.
  • Active a colocação da saída de ASP na cache, se for possível.
  • Desactive a gestão de sessões e active-a só para os serviços que utilizam realmente sessões. Por predefinição, a gestão de sessões está activa para tudo. Se não for utilizada pelas aplicações, estará a desperdiçar recursos. Defina também um valor de tempo limite de sessão adequado.
  • Defina os scripts e os valores de tempo limite de ligação apropriados para se certificar de que os scripts zombie e as ligações abertas não esgotam os recursos do servidor.
  • Reduza o tamanho do conteúdo. Certifique-se de que o código HTML e ASP está limpo e simples, e não exageradamente repleto de comentários em excesso e códigos redundantes. Comprima os ficheiros de vídeo, áudio e imagem. Quanto mais pequena for a página, mais rapidamente será apresentada.
  • Crie as aplicações de ASP ou ISAPI de modo a realizarem a maior parte do processamento possível do lado do cliente, ajudando a minimizar o consumo de recursos no servidor.
  • Crie a interactividade de cliente de modo a utilizar o menor número possível de leituras e de escritas de dados entre cliente e servidor. Por exemplo, uma consulta a larga escala de um conjunto de registos inteiro é preferível a múltiplas pequenas consultas de alguns registos ou campos de cada vez. Do mesmo modo, os dados introduzidos pelo utilizador deverão ser transmitidos de uma só vez, se possível, em vez de enviar cada item de dados para o servidor separadamente.

Soluções da Microsoft Press

Uau! Pode constatar que ainda tem muito trabalho pela frente para optimizar totalmente o desempenho do servidor Web com o IIS 5.0. Felizmente, tem à sua disposição um leque variado de ajuda por parte da Microsoft Press. Os livros da MS Press ajudá-lo-ão a compreender os parâmetros de desempenho do sistema e de que modo poderá tornar o desempenho do servidor no melhor possível. Consulte estes títulos:
  • Microsoft Internet Information Services 5.0 Resource Guide, um volume do the Microsoft Windows 2000 Resource Kit (consulte abaixo) que aborda todas as questões necessárias sobre como monitorizar e optimizar o desempenho do sistema. Consulte o capítulo 5, "Monitoring and Tuning Your Server" e o capítulo 4, "Capacity Planning".
  • Microsoft Windows 2000 and IIS 5.0 Administrator's Pocket Consultant constitui uma excelente referência rápida para os administradores do sistema. Consulte o Pocket Consultant para obter uma descrição rápida sobre a execução das tarefas de gestão do sistema. Consulte o capítulo 12, "IIS Optimization and the Metabase", para obter sugestões sobre a optimização do desempenho do servidor Web.
  • Microsoft Windows 2000 Performance Tuning Technical Reference fornece informações completas sobre a optimização do desempenho no Windows 2000. Consulte em particular o capítulo 14 para obter informações sobre como optimizar o Windows 2000 Server para a Internet.
Por último, nenhum administrador do sistema com o IIS 5.0 e Windows 2000 deverá ficar sem referências essenciais e tutoriais para o Windows 2000:
  • Microsoft Windows 2000 Server Administrator's Companion descreve detalhadamente como instalar, configurar, administrar e suportar o Windows 2000 Server, incluindo a rede privada virtual (VPN). (Consulte o capítulo 31.)
  • MCSE Training Kit: Microsoft Windows 2000 Server é o guia de estudo oficial da Microsoft Press para a preparação do exame do Windows 2000 Server (70-215). Este livro mostra como configurar e suportar o Windows 2000 Server. Para mais informações sobre a VPN, consulte o capítulo 10, "Routing and Remote Access Service".
  • Microsoft Windows 2000 Server Resource Kit contém uma referência completa da Microsoft para o Windows 2000 Server. Este conjunto de sete volumes é composto pelos seguintes guias:
    • Server Operations Guide
    • Distributed Systems Guide
    • TCP/IP Core Networking Guide
    • Internetworking Guide
    • Deployment Planning Guide
    • Internet Information Services 5.0 Resource Guide
    • Internet Explorer 5 Resource Kit

Para obter uma lista completa dos títulos dos livros sobre o Windows 2000 da Microsoft Press, visite a secção do Windows 2000. Para obter material que abranja os .NET Enterprise Servers, consulte a secção da .NET.

Referências

As informações contidas neste artigo foram extraídas do livro Windows 2000 Server Resource Kit, publicado pela Microsoft Press.

Reduzir esta imagemExpandir esta imagem
Picture of Windows
		  2000 Server Resource Kit book


Saber mais acerca de Windows 2000 Server Resource Kit

Para mais informações sobre esta publicação e outros títulos da Microsoft Press, consulte http://mspress.microsoft.com.

Propriedades

Artigo: 305313 - Última revisão: 26 de setembro de 2006 - Revisão: 4.0
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 5.0
Palavras-chave: 
kbgraphxlink kbhowto KB305313
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com