sql server 2000 tempo de resposta da consulta mais de 800ms entre 2 servidores

1

O front-end e o banco de dados da Web do meu site estão separados em dois servidores, conectados por 1000M lan.

Acho que quase todos os tempos de resposta de uma consulta são superiores a 800 ms. Posso garantir que minha consulta esteja tudo bem, porque quando implanto isso em um único servidor, o problema não aparece.

site / asp.net 2.0 banco de dados / sql server 2000

    
por Alex Chen 23.12.2010 / 12:38

2 respostas

2
  1. Se o seu DNS está causando um atraso de 800 ms (o que deveria ser) um endereço IP em cache, há algo muito errado com sua configuração de rede. NA MINHA HUMILDE OPINIÃO. Você pode ver se isso é um problema usando ping.

  2. Use o traceroute para garantir que os pacotes estejam usando uma rota eficiente entre os dois computadores. Isso é fácil de fazer, então vale a pena tentar antes de mexer com outras coisas. Se houver muitos saltos na rota, talvez mais de dois ou três, encontre um cara da rede e pergunte por que isso acontece.

  3. Ao tentar solucionar problemas de rede do SQL, é melhor usar uma consulta muito simples, como "SELECT GETDATE ()", e usar uma ferramenta de consulta simples como o SQLCMD.EXE. A consulta simples significa que o servidor não precisará gastar muito tempo analisando a consulta, não haverá nenhum bloqueio ou bloqueio significativo e a consulta não recuperará milhões de linhas de dados pela rede. A ferramenta de consulta simples significa que você não precisa se preocupar com o que o IIS pode ou não estar fazendo. Se não houver SQLCMD.EXE, OSQL.EXE ou ferramenta semelhante instalada no servidor IIS, talvez valha a pena gravar um pequeno script psh ou vbs para testar a conectividade com o SQL Server. Se você não tiver esse tipo de acesso ao servidor IIS, provavelmente poderá escrever uma página ASP especial que apenas executou essa consulta simples e retornou o resultado e quanto tempo demorou para ser executado.

  4. Se eu tiver que adivinhar o problema, será este- > Especialmente com equipamentos e drivers mais antigos, evite confiar nas configurações de "autonegociação" das NICs. Defina ambos os cartões para as mesmas configurações manualmente.

Eu sei que é um empecilho, mas eu pessoalmente vi isso esclarecer uma dúzia de problemas semelhantes, onde os caras da rede estavam perplexos. (Afinal de contas, são servidores, e não é como se estivessem conectados a vários switches diferentes e precisassem renegociar as configurações de velocidade de link ou duplex).

Você também pode ver esse problema observando as taxas de dados nas NICs, conforme medidas em MB / segundo, com o Monitor de desempenho. Depois de estabelecer uma linha de base, altere as configurações nas NICs e observe novamente.

Normalmente, você pode mudar essas configurações "ao vivo", mas eu não tentaria usá-lo no horário de pico na primeira vez que eu mexer nessas configurações. Um teste em um ambiente de teste seria melhor se você tivesse um. Se você tem uma janela de manutenção, isso seria melhor. Se houver apenas 1 NIC no servidor, tenha cuidado para não configurar a NIC de modo que ela não possa falar com o switch ou talvez seja necessário pedir a alguém para fazer login fisicamente no console, o que é uma chatice para todos.

    
por 23.12.2010 / 14:37
1

Existem muitas razões possíveis. Pode ser um problema com um dos drivers do adaptador de rede, por exemplo.

Você terá que verificar se a conexão SQL é o gargalo ou se é um problema geral de rede. Tente emitir um comando "select getdate ()" do servidor da web para ver se todas as consultas são afetadas.

Os pings para o servidor de banco de dados também estão lentos? Além disso, tente usar o endereço IP em vez do nome do servidor - talvez seja um problema de resolução de DNS.

    
por 23.12.2010 / 13:44

Tags