ID do artigo: 221790 - Última revisão: quinta-feira, 3 de julho de 2008 - Revisão: 7.1

IIS é executado fora do itens de trabalho e faz com que as falhas RPC ao conectar-se 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.
É altamente recomendável que todos os usuários atualizem para Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança de infra-estrutura da Web. Para obter mais informações sobre tópicos relacionados à segurança do IIS, visite o seguinte site:
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 site:
http://www.iis.net/default.aspx?tabid=1 (http://www.iis.net/default.aspx?tabid=1)
Expandir tudo | Recolher tudo

Sintomas

Em uma Web farm ambiente, onde um ou mais Web IIS servidores estiverem usando um Windows NT ou Windows 2000 arquivo servidor remoto para armazenar o conteúdo para o site da Web (por exemplo, o diretório base ou os diretórios virtuais para o site da Web são mapeados para um caminho UNC), servidores Web do IIS podem ficar sem contextos de trabalho disponível no nível do redirecionador. Quando isso acontece, os seguintes sintomas podem ocorrer nos servidores Web do IIS:
  • IIS parece parar de responder. Se você examinar um despejo de processo do Inetinfo.exe, você verá que um grande número de threads de trabalho está aguardando para recuperar o conteúdo do compartilhamento de arquivo remoto. Em um log de desempenho do sistema, o IIS aparece amplamente ocioso durante esse tempo, como a maioria dos threads em um estado de espera, aguardando para acessar o servidor remoto.
  • Na área de trabalho local de um dos servidores Web do IIS, se você tentar utilizar o redirecionador de cliente para acessar o compartilhamento de arquivo remoto através de ambiente de rede ou Meus locais de rede ou através do Windows Explorer, ele parece parar de responder indefinidamente. Se um caminho UNC é mapeado para uma letra de unidade local no Windows Explorer e Windows Explorer é aberto, ele parece parar de responder bem. Isso pode dar a aparência que todo o sistema operacional parou de responder, quando na verdade não tem.
  • As seguintes mensagens de erro podem ocorrer quando o número máximo de contextos de trabalho está esgotado em um servidor específico:

    RPC 1792 - A chamada de procedimento remoto falhou e não foi executada.
    Netlogon 5719 - não é possível localizar o controlador de domínio.
    Essas mensagens de erro podem ocorrer quando você tenta estabelecer conexões RPC adicionais para um servidor quando o número máximo de contextos de trabalho é alcançado.
  • Foi atingido o limite de comandos BIOS da rede.
  • A seguinte mensagem ID evento é registrada:
Identificação do evento 101 no servidor IIS:
Tipo de evento: aviso
Fonte de evento: W3SVC
Categoria do evento: nenhum
Evento ID:101
Data: 9/5/2002
Time:8:07:28 AM
Usuário: N / A
Computador: < nome do servidor >
Descrição:
<servername>O servidor não pôde adicionar a raiz virtual ' / < nome da pasta virtual > 'para o diretório' \\ <nome_do_servidor> \ <share> \ ' devido ao seguinte erro: O limite de comando do BIOS de rede foi atingido. Os dados são o código de erro. Para obter informações adicionais específicas para esta mensagem visite o site Microsoft Online Support localizado em: http://search.support.microsoft.com/search/?adv=1.

Causa

O servidor está executando fora do trabalho contextos para um determinado cliente. No Windows 2000, há um limite superior embutida de 125 contextos de trabalho para todos os tipos de clientes (Windows NT, Windows 95 e Windows 98).

Resolução

importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756  (http://support.microsoft.com/kb/322756/ ) Como fazer backup e restaurar o registro no Windows
  1. Se você estiver executando o Windows 2000, instale o hotfix pós-SP1 descrito no seguinte artigo da Base de dados de Conhecimento da Microsoft para os servidores IIS e o servidor de arquivos:
    271148  (http://support.microsoft.com/kb/271148/ ) Limites MaxMpxCt e MaxCmds no Windows 2000
  2. Aumente os valores de MaxCmds nos servidores IIS e MaxMpxCT no servidor de arquivos usando os scripts de registro a seguir:

    • Salve o seguinte script de registro como Client.reg e execute-o em servidores IIS:
      Windows Registry Editor versão 5.00

      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters] "MaxCmds" = dword:00000800
    • Salve o script de registro a seguir como Server.reg e execute-o no servidor de arquivos:
      Windows Registry Editor versão 5.00

      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
      "MaxMpxCT" = dword:00000800
      "MaxWorkItems" = dword:00002000
    Por padrão, esses scripts especifique um MaxCmds e MaxMpxCT de 2.048, que deve ser suficiente para a maioria das situações. MaxWorkItems foi especificado em 4 x MaxMpxCt ou 8.192. Para obter mais informações sobre essas configurações, consulte a seção "Mais informações" deste artigo.
  3. Reinicie todos os servidores IIS e o servidor de arquivos para que essas alterações tenham efeito.
Observação Quando você aumenta a esses valores na plataforma x 86, memória de pool não paginável adicionais é consumida no servidor de arquivo e os clientes do IIS. Memória de pool não-paginável tem um limite superior de 256 megabytes (MB). Muitos clientes que têm muitas conexões podem consumir toda a memória não-paginável no servidor de arquivos. Use o Monitor de desempenho para observar esse contador e para certificar-se de que ele não está se aproximando do limite. Na plataforma x 64, memória de pool não-paginável tem um limite superior de 128 gigabytes (GB). Portanto, você pode aumentar esses valores para o valor máximo. Para obter mais informações sobre as diferenças entre a memória de pool não paginado na plataforma x 86 e na plataforma x 64, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
294418  (http://support.microsoft.com/kb/294418/ ) Comparação de arquitetura de memória de 32 bits e 64 bits para as edições de 64 bits do Windows XP e Windows Server 2003

Situação

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

Mais Informações

Depois de aplicar o hotfix descrito no Q271148, o limite superior para MaxMpxCt (a configuração de servidor) muda de 125 para 65.535 e no cliente, o limite superior para MaxCmds (o cliente configuração) altera de 255 a 65.535.

Além disso, o número máximo de sessões simultâneas do SMB que pode ser aberto entre o cliente e o servidor é a inferior das MaxCmds e MaxMpxCT . No entanto, se o cliente está se conectando for um cliente Windows 95 ou Windows 98, em seguida, o valor efetivo de MaxMpxCt para que o cliente é limitado a 125.

Esses limites tornam-se importante quando você usar o IIS em um cenário de Web farm onde o conteúdo para sites da Web está armazenado em um compartilhamento UNC remoto, porque o IIS usa ReadDirectoryChangesW API para receber notificações de alteração de arquivo. Isso é feito para que se alterar arquivos, IIS possa un-cache os arquivos antigos e, em seguida, nova leitura os novos arquivos do disco ou compartilhamento. Quando você usa um caminho UNC como diretório base, uma conexão SMB persistente permanece aberta entre o servidor IIS e o servidor de arquivos, que consome um contexto de trabalho. Se a estrutura de diretórios é grande o suficiente, é possível executar fora de contextos de trabalho e encontrar os sintomas listados anteriormente.

Um computador que está executando o IIS pode ter vários diretórios virtuais ou sites da Web apontando para compartilhamentos no Windows NT Server outro computador. O Monitor de Directory ASP usa ReadDirectoryChangesW API para monitorar para que quaisquer alterações nesses diretórios em outro servidor. Cada pendentes ReadDirectoryChangesW requer um contexto de trabalho no servidor e somente um número limitado de contextos de trabalho está disponível.

O número de contextos de trabalho é passado do servidor para o cliente quando o nível SMB será negociado. O redirecionador do cliente mantém uma contagem do número de contextos de trabalho que está usando no servidor interna. O número de contextos de trabalho padrão é 50.

O número de contextos de trabalho é limitado a manter o processo servidor consuma toda a memória não-paginável. Isso pode ser elevado, mas, em seguida, há um limite para quantos contextos de trabalho pode consumir um cliente específico.

Esse problema não está limitado ao IIS. Windows NT Explorer usa o mesmo mecanismo para monitorar as alterações de diretório.

Observação Esse problema não ocorre em computadores que estejam executando uma versão x 64 do Windows Server 2003.Para obter mais informações sobre as configurações MaxWorkItems e MaxMpxCT, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
232476  (http://support.microsoft.com/kb/232476/ ) Terminal Server conexões de cliente e logon limitado pelo MaxWorkItem e MaxMpxCt valores
271148  (http://support.microsoft.com/kb/271148/ ) Limites 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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/ )