Artigo: 221790 - Última revisão: quinta-feira, 3 de Julho de 2008 - Revisão: 7.1

O IIS é executado de itens de trabalho e provoca falhas RPC quando ligar a um caminho UNC remoto

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Recomendamos vivamente que todos os utilizadores actualizem para Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança da infra-estrutura Web. Para mais informações sobre tópicos relacionados com a segurança do IIS, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx (http://www.microsoft.com/technet/security/prodtech/IIS.mspx)
Para obter mais informações sobre o IIS 7.0, visite o seguinte Web site da Microsoft:
http://www.iis.net/default.aspx?tabid=1 (http://www.iis.net/default.aspx?tabid=1)
Expandir tudo | Reduzir tudo

Sintomas

Numa Web farm ambiente, onde um ou mais Web do IIS servidores estão a utilizar um Windows NT ou Windows 2000 ficheiro servidor remoto para armazenar o conteúdo do Web site (por exemplo, o directório raiz ou os directórios virtuais para o Web site são mapeados para um caminho UNC), os servidores Web do IIS podem ser executada fora de contextos de trabalho disponíveis ao nível do redireccionador. Quando isto acontece, os seguintes sintomas podem ocorrer nos servidores Web do IIS:
  • IIS parece deixar de responder. Se examinar uma cópia do processo do inetinfo.exe, verá que um grande número de threads de trabalho está aguardando para obter o conteúdo da partilha de ficheiros remoto. Um registo do Monitor de desempenho do IIS aparece em grande parte inactivo durante este período de tempo, tal como a maior parte dos threads num estado de espera, à espera de aceder ao servidor remoto.
  • No ambiente de trabalho local de um dos servidores Web do IIS, se tentar utilizar o redireccionador de cliente para aceder à partilha de ficheiros remoto através de Vizinhança na rede ou nos meus locais na rede ou através do Explorador do Windows, parece deixar de responder indefinidamente. Se um caminho UNC é mapeado para uma letra de unidade local no Explorador do Windows e O Explorador do Windows está aberto, parece deixar de responder bem. Isto pode dar o aspecto que todo o sistema operativo parou de responder, quando na realidade tem não.
  • As seguintes mensagens de erro poderão ocorrer quando o número máximo de contextos de trabalho é esgotado num determinado servidor:

    RPC 1792 - A chamada de procedimento remoto falhou e não foi executada.
    Netlogon 5719 - não é possível encontrar um controlador de domínio.
    Estas mensagens de erro podem ocorrer quando tenta efectuar quaisquer ligações de RPC adicionais a um servidor quando é atingido o número máximo de contextos de trabalho.
  • Foi atingido o limite de comandos de BIOS de rede.
  • A seguinte mensagem de ID de evento é registada:
Evento com ID 101 no servidor IIS:
Tipo de evento: aviso
Origem do evento: W3SVC
Categoria do evento: nenhum
Evento ID:101
Data: 9/5/2002
Time:8:07:28 AM
Utilizador: N / A
Computador: < nome do servidor >
Descrição:
<servername>O servidor não conseguiu adicionar a raiz virtual ' / < nome do comando dir virtual > 'para o directório' \\ <nomedoservidor> \ <share> \ ' devido ao seguinte erro: foi atingido o limite de comandos do BIOS rede. Os dados são o código de erro. Para obter informações adicionais específicas desta mensagem visite o site Microsoft Online Support localizado em: http://search.support.microsoft.com/search/?adv=1.

Causa

O servidor está em execução fora de contextos de trabalho para um determinado cliente. No Windows 2000, existe um limite superior hard-coded de 125 contextos de trabalho para todos os tipos de clientes (Windows NT, Windows 95 e Windows 98).

Resolução

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756  (http://support.microsoft.com/kb/322756/ ) Como efectuar uma cópia de segurança e restaurar o registo no Windows
  1. Se estiver a executar o Windows 2000, instale a correcção pós-SP1 descrita no artigo seguinte da base de dados de conhecimento da Microsoft para os servidores IIS e o servidor de ficheiros:
    271148  (http://support.microsoft.com/kb/271148/ ) Limites de MaxMpxCt e MaxCmds no Windows 2000
  2. Aumente os valores de MaxCmds nos servidores de IIS e MaxMpxCT no servidor de ficheiros utilizando os seguintes scripts de registo:

    • Guardar o seguinte script de registo como Client.reg e, em seguida, executá-la nos servidores de IIS:
      Editor de registo do Windows versão 5.00

      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters] "MaxCmds" = dword:00000800
    • Guardar o seguinte script de registo como Server.reg e, em seguida, executá-la no servidor de ficheiros:
      Editor de registo do Windows versão 5.00

      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
      "MaxMpxCT" = dword:00000800
      "MaxWorkItems" = dword:00002000
    Por predefinição, estes scripts especificar um MaxCmds e MaxMpxCT de 2048, que deverá ser suficiente para a maior parte das situações. foi especificado MaxWorkItems 4 x MaxMpxCt ou 8,192. Para obter mais informações sobre estas definições, consulte a secção "Mais informação" deste artigo.
  3. Reinicie todos os servidores de IIS e o servidor de ficheiros para que estas alterações entrem em vigor.
Nota Quando aumentar estes valores na plataforma x 86, memória de conjunto não paginado adicionais é consumida no servidor de ficheiros e os clientes do IIS. Memória de bloco paginado não tem um limite superior de 256 megabytes (MB). Muitos clientes que tenham muita ligações podem consumir toda a memória não paginado no servidor de ficheiros. Utilize o Monitor de desempenho para ver este contador e para se certificar de que não se aproxima o limite. Na plataforma x 64, a memória não paginado tem um limite superior de 128 gigabytes (GB). Por conseguinte, é possível aumentar estes valores para o valor máximo. Para obter mais informações sobre as diferenças entre a memória não paginado na plataforma x 86 e na plataforma x 64, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
294418  (http://support.microsoft.com/kb/294418/ ) Comparação de arquitectura de memória de 32 bits e 64 bits para as edições de 64 bits do Windows XP e Windows Server 2003

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Depois de aplicar a correcção descrita no Q271148, o limite superior para MaxMpxCt (a definição do servidor) é alterado de 125 para 65.535 e no cliente, o limite superior para MaxCmds (o cliente definir) muda de 255 a 65.535.

Além disso, o número máximo de sessões SMB concorrentes que possa ser aberto entre o cliente e o servidor é mais baixos dos MaxCmds e MaxMpxCT . No entanto, se o cliente de ligação for um cliente Windows 95 ou Windows 98, em seguida, valor de MaxMpxCt eficaz para esse cliente fica limitado 125.

Estes limites tornam-se importante quando utiliza IIS num cenário de farm de servidores Web onde o conteúdo para os Web sites é armazenado numa partilha UNC remota, uma vez que o IIS utiliza ReadDirectoryChangesW API para receber notificações de alteração de ficheiro. Isto é efectuado para que se alteram ficheiros, o IIS possa anular cache os ficheiros antigos e releitura, em seguida, os novos ficheiros do disco ou partilha. Quando utiliza um caminho UNC como o directório raiz, uma ligação SMB persistente permanece aberta entre o servidor de IIS e o servidor de ficheiros, que ocupa um contexto de trabalho. Se a estrutura do directório é suficientemente grande, é possível executar fora do trabalho contextos e encontrar os sintomas listados anteriormente.

Um computador que está a executar o IIS pode ter vários directórios virtuais ou Web sites apontando para partilhas no Windows NT Server noutro computador. O Monitor do ASP utiliza ReadDirectoryChangesW API para monitorizar alterações nesses directórios em outro servidor. Cada pendentes ReadDirectoryChangesW requer um contexto de trabalho no servidor e existe apenas um número limitado de contextos de trabalho disponível.

O número de contextos de trabalho é transferido do servidor para o cliente quando o nível SMB é negociado. O redireccionador do cliente mantém uma contagem do número de contextos de trabalho que está a utilizar no servidor interna. O número de contextos de trabalho predefinido é 50.

O número de contextos de trabalho está limitado a impedir que o processo do servidor consumir toda a memória não paginado. Isto pode ser aumentado, mas não existe um limite para quantas contextos de trabalho pode consumir um determinado cliente.

Este problema não está limitado ao IIS. Explorador do Windows NT utiliza o mesmo mecanismo para monitorizar alterações de directório.

Nota Este problema não ocorre em computadores que executem uma versão x 64 do Windows Server 2003.Para obter mais informações sobre as definições de MaxWorkItems e MaxMpxCT, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
232476  (http://support.microsoft.com/kb/232476/ ) Ligações de cliente do servidor de terminal e início de sessão limitado pelo MaxWorkItem e MaxMpxCt valores
271148  (http://support.microsoft.com/kb/271148/ ) Limites de MaxMpxCt e MaxCmds no Windows 2000

A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 7.0
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbbug kbpending KB221790 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 221790  (http://support.microsoft.com/kb/221790/en-us/ )