Problema de desempenho do servidor - Server 2008, SQL 2008 e Hyper-V [screenshots]

2

Estou recebendo um desempenho desagradável no meu servidor.

Acontece de forma radiante ao acessar um site, mas mais frequentemente, diretamente no primeira vez eu carrego. O servidor / webapp ainda estão em dev, então eu sou o único que acessa isso.

Especificamente, o tempo limite expirou. Só é possível postar um link, então a captura de tela segue ...

Eu comecei a executar o perfmon na VM do banco de dados e depois que duas páginas são carregadas, Consegui até 100! Aqui está a captura de tela .

Quando foi para 100, ainda carregou a página, houve apenas um atraso. No outras vezes, posso imaginar que foi mais alto.

E, aparentemente, corta a 100, então poderia ter sido ainda maior, mas não mostrando isso.

Esta pergunta parece estar perto de descrever o problema, mas não tenho certeza do que fazer sobre isso: SQL Server lento mas CPU normal

No que diz respeito ao acesso db, todas as minhas consultas são otimizadas automaticamente, usando linq-para-sql. Eu não faço nenhuma indexação no db ... mas a carga agora é apenas eu acertando.

então, até agora, meu instinto está me dizendo que é algum tipo de problema de configuração do hyper-v.

Especificações:

Servidor Único: Xeon E5520 @ 2.27GHz (2 processadores). Windows 2008 Ent. 6 gb de rame, discriminado: 2GB - pai 2Gb - servidor de banco de dados executando o SQL 2008 Web Edition 1,25 Gb - servidor Web executando o IIS7 .75GB - DNS, Misc

O Hyper-V foi configurado pela empresa de hospedagem, provavelmente apenas clicado duas vezes e clicado em next, next, next até que foi concluído, então estou pensando em algumas práticas recomendadas para configuração que farão toda a diferença.

Ajuda! Obrigado!

Shane.

    
por Community 03.12.2009 / 21:26

3 respostas

1

O primeiro Linq-To-SQL não é otimizado, a menos que você tenha índices nas tabelas. Qualquer um que diga o contrário está errado.

O Windows 2008 com o SQL 2008 rodando 1,25 GB de RAM não é nada. Só o Windows precisa disso. Você quase não tem memória RAM para o banco de dados. Precisa de cerca de 70 Megs apenas para iniciar o SQL Server. Deve começar a carregar menos dados na memória, então há espaço necessário para o cache de procedimento. Como tudo é SQL dinâmico (via Linq To SQL), você precisará de muito espaço para o cache de procedimento, pois as probabilidades de que cada comando executado contra o banco de dados precisará ser recompilado.

Você pode postar alguns dados perfmon do SQL Server quando o problema está acontecendo?

    
por 04.12.2009 / 00:44
0

Caso haja alguma dúvida, o Hyper-V é completamente novo para mim e para minha equipe de hospedagem.

link

Estou executando meu VHD de banco de dados como dinâmico, portanto, para remover os instantâneos, tenho que esperar que ele seja mesclado; conversei em Fixo.

A passagem seria melhor, mas levaria mais tempo. Tente isso por enquanto.

Provavelmente fará isso em todos os meus três VHDs.

Qual a grande diferença que todos vocês acham que isso fará?

    
por 03.12.2009 / 22:25
0

Da mesma forma, isso não está em produção. yikes.

Então, no processo de conversão do VHD para o Fixed, ele está corrompido de alguma forma e não consigo carregá-lo. Não posso mesmo voltar para o antigo e recarregar.

Estou recebendo o erro:

Pare de c000021a o gerenciador de sessão falhou ao criar processo de sistema de prefixos protegido finalizado inesperadamente

sempre que eu tento iniciar a VM novamente.

pensando em limpar o servidor e sair sem o HyperV. (ah, a propósito, 2gb para SQL ... não é muito diferente de 1.25).

Como a máquina tem 6GB e eu só preciso rodar um website com um banco de dados no sql2008, talvez esse seja o caminho a ser seguido.

    
por 04.12.2009 / 03:17