Desempenho de rede lenta ocorre se copiar ficheiros para um controlador de domínio com o Windows 2000 ou Windows Server 2003

Traduções de Artigos Traduções de Artigos
Artigo: 321098 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Se copiar ficheiros de um computador cliente baseado no Microsoft Windows 2000, um computador cliente baseado no Microsoft Windows XP ou o computador cliente baseado no Microsoft Windows Server 2003 para uma partilha de rede num controlador de domínio com o Windows 2000 ou Windows Server 2003, o desempenho da rede é mais lento do que se copiar os ficheiros mesmos para um servidor membro que está a executar o Windows 2000 ou Windows Server 2003. Poderá notar este problema se copiar muitos ficheiros pequenos; no entanto, poderá não detectar este problema se copiar alguns ficheiros grandes. Este problema só ocorre se utilizar o Explorador do Windows para copiar os ficheiros ou se uma janela do Explorador do Windows é aberto e ligado ao servidor de destino. No entanto, se utilizar xcopy.exe para copiar os ficheiros e todas as janelas Explorador do Windows estão fechadas, não detectar este problema.

Causa

Este problema ocorre porque o bloco de mensagem de servidor (SMB) operações de escrita num controlador de domínio que está a executar o Windows 2000 ou Windows Server 2003 poderá detectar um atraso de até 200 milissegundos entre cópias do ficheiro.

Se rever um rastreio do problema, notará que o atraso ocorre depois do cliente envia o servidor de um comando de Alteração de notificação de SMB com a entrada FID que corresponde a entrada FID da pasta de destino. Explorador do Windows envia um pedido de notificação de alteração na partilha de rede, que lhe pede para ser notificado se algo forem alterados na pasta que aparece no painel da direita do Explorador do Windows. Se um controlador de domínio receber o pedido de alteração de notificação, não responder ao mesmo imediatamente; não envia pacotes para até 200 milissegundos. Nessa altura, um pacote de confirmação (ACK) simples do TCP (Transmission Control Protocol) é enviado e a operação de retoma como habitualmente.

Este comportamento é um resultado da interacção entre dois principais de componentes de rede do Windows 2000, TCP atrasada ACK e prioridade do thread em controladores de domínio. Prioridade do thread permite um controlador de domínio correctamente atribuir prioridades a serviços de directório e operações de gestão de conta antes de algumas actividades SMB, tais como responder a pedidos de notificação de alteração.

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:
322756Como efectuar uma cópia de segurança e restaurar o registo no Windows

Quando considerar este problema, tenha em atenção que só ocorre em circunstâncias muito específicas; este problema só ocorre se um cliente estiver a utilizar O Explorador do Windows para copiar um grande número de ficheiros para um controlador de domínio baseado no Windows 2000. Se alterar o valor do temporizador ACK adiado, é possível impedir que alguns dos sintomas ocorra; no entanto, se modificar um núcleo TCP/IP valor, poderão ocorrer resultados inesperados no futuro. Por conseguinte, a Microsoft recomenda que experimente outras alternativas antes de modificar o temporizador. Incluem outras soluções de mover as partilhas de ficheiros para um servidor membro ou utilizar outra ferramenta (tal como o Xcopy ou Robocopy, que faz parte do Windows 2000 Resource Kit) para copiar o grande número de ficheiros para um controlador de domínio.

No controlador de domínio, pode editar TcpDelAckTicks valor de registo para ajustar o TCP atrasada ACK temporizador. Se alterar o TCP atrasada temporizador ACK para um valor inferior, o servidor envia um pacote ACK mais frequentemente mas intervalos mais curto.

Note que numa latência alta, muito saturada segmento, o aumento net os pacotes ACK do controlador de domínio poderá colocar pressão adicional na rede. Para garantir TCP alterado atrasada ACK valor de temporizador não provocar congestionamentos adicionais, teste exaustivamente o valor.

Se a rede pode processar os pacotes ACK extra, aplique a seguinte Pack 3 (SP3) correcção da pré para o Windows 2000 Service Pack 2 (SP2) para que possa modificar o valor de temporizador ACK adiado:

311833O valor de registo TcpDelAckTicks tem efeitos ACK tempos limite
Depois de aplicar esta correcção, utilize o seguinte procedimento para adicionar o seguinte valor de registo que especifica o parâmetro personalizado para o temporizador ACK adiado:
  1. Inicie o Editor de registo (Regedt32.exe).
  2. Localize e clique na seguinte chave no registo, onde o Adapter GUID é o identificador exclusivo global (GUID) para a placa de rede que liga os clientes:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ Adapter GUID
  3. No menu Editar , clique em Adicionar valor e, em seguida, adicione o seguinte valor de registo:
    Nome do valor: TcpDelAckTicks
    Tipo de dados: REG_DWORD
    Dados do valor: pode definir este valor para um intervalo de 0 a 6. A predefinição é 2 (200 milissegundos).
  4. Saia do Editor de registo.
  5. Reiniciar o Windows para que esta alteração tenha efeito.
Este valor de registo Especifica o número de intervalos de 100 milisegundos para o temporizador ACK adiado num regime por-interface. Por predefinição, o valor de temporizador ACK atrasado é 200 milissegundos. Se definir o valor de TcpDelAckTicks como 0 , as confirmações atrasadas estão desactivadas. Esta definição faz com que o computador imediatamente enviar um pacote ACK para cada pacote que recebe.

Nota Específicas do adaptador valores listados nas subchaves para cada placa. Certifique-se que adiciona o valor de TcpDelAckTicks na seguinte chave de registo:
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ Adapter GUID
Não adicione este valor na seguinte chave de registo:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

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

Rastreios de rede, pode ver que o cliente envia o "SMB: C NT transact - notificação de alteração" pacotes. O controlador de domínio baseado no Windows 2000 envia novamente um pacote ACK para o cliente 200 milissegundos mais tarde. Depois do cliente recebe o pacote ACK, o cliente inicia a seguinte operação de SMB e copia o ficheiro seguinte.

Nota Se estiver a utilizar o Monitor de rede, pode ver os atrasos melhor se utilizar o seguinte filtro:
SMB:Command == 0xA0 (NT transact)
Utilize este filtro em combinação com as seguintes opções de visualização:
Hora: (x) segundos de fotograma anterior
Pode identificar o correspondente pedidos e respostas observando o atributo de pacotes SMB seguinte:
SMB: Multiplex ID (seg.texto)
A funcionalidade de agradecimentos adiada baseia-se no pedido de comentários (RFC) 1122. Para reduzir o número de pacotes que são enviados na rede o TCP utiliza ACK adiada. A pilha Microsoft TCP/IP utiliza uma abordagem comum para implementar ACK adiada. Quando os dados são recebidos pelo TCP numa ligação, a pilha só devolve um ACK se verifique uma das seguintes condições se verificar:
  • Condição 1: Não ACK é enviada para o segmento anterior é recebido.
  • Condição 2: Um segmento é recebido, mas não outro segmento chega de 200 milissegundos (a predefinição) para essa ligação.
Normalmente, um ACK é enviada para todos os outro segmento TCP é recebido numa ligação, a menos que o temporizador ACK adiado (200 milissegundos) expira. Pode ajustar o temporizador ACK adiado utilizando o procedimento descrito na secção "Resolução" deste artigo para adicionar o valor de registo TcpDelAckTicks (este valor é novo no Windows 2000).

Nota Tenha em atenção que se alterar o valor de registo TcpDelAckTicks , poderá detectar efeitos inesperados no futuro. Por conseguinte, a Microsoft recomenda que experimente outras alternativas antes de modificar o temporizador.

O atraso ocorre se o pacote anterior foi confirmado e a resposta do pedido de notificação de alteração está em espera por um controlador de domínio para um período de tempo, por vezes, excede 200 milissegundos. Uma vez que o temporizador ACK predefinido conta milissegundos 200, o pacote de TCP ACK ocorre 200 milissegundos depois do pedido de notificação de alteração for recebido a partir do cliente. Uma vez que o cliente aguarda uma resposta do servidor antes de prossegue com a seguinte operação de SMB, o atraso ocorre enquanto adiada ACK temporizador o servidor conta para o respectivo limiar de. Se efectuar um rastreio de rede, notará que não cada pedido de alteração de notificação do cliente tem um atraso.

O pedido de notificação de alteração que não experimentar o atraso imediatamente é precedido por outro pacote que não é reconhecido. Por conseguinte, a confirmação não é atrasada na confirmação do controlador de domínio porque o primeiro as condições que é descrito no início desta secção é cumprido. Os pedidos de notificação de alteração que detectam o atraso tenham tido os pacotes anteriores confirmados; por conseguinte, o controlador de domínio não responde novamente até expira o temporizador ACK adiado (a predefinição é 200 milissegundos) porque o segundo as condições que é descrito nesta secção é accionado.

Não é possível modificar a prioridade do thread de um controlador de domínio; por conseguinte, terá de alterar o TCP atrasada valor de temporizador ACK para um valor inferior para impedir que os sintomas descritos na secção "Sintomas" deste artigo ocorra. Depois de o fazer, o servidor envia ACK valores mais frequentemente mas intervalos mais curto.

Para obter mais informações sobre o valor de registo TcpDelAckTicks , consulte a documentação técnica que se encontra no seguinte Web site da Microsoft:
Microsoft Windows 2000 TCP/IP Implementation Details
Para obter mais informações sobre este problema, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
270926Como resolver problemas de cópia de ficheiros de rede no Windows 2000
Num cliente com o Windows XP ou Windows Server 2003, existe uma nova chave de registo denominada TcpAckFrequency controlos ACK TCP antes do temporizador ACK atrasado é atingido. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
328890Nova entrada de registo para controlar o comportamento de confirmação TCP (ACK) no Windows XP e no Windows Server 2003
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
321169Um desempenho lento do SMB quando copia ficheiros do Windows XP para um controlador de domínio do Windows 2000

Propriedades

Artigo: 321098 - Última revisão: 1 de março de 2007 - Revisão: 4.5
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Advanced Server SP3
Palavras-chave: 
kbmt kbprb KB321098 KbMtpt
Traduçã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: 321098

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