Quando minha máquina com Windows Server 2008 R2 executa grandes operações de disco (copiando arquivos de 10 GB de uma unidade para outra, copiando arquivos semelhantes pela rede, mesclando snapshots do HyperV, compactando arquivos grandes), o desempenho de toda a máquina fica terrivelmente lento, tudo fica sem resposta . Isso é perceptível em qualquer situação em que o acesso ao disco é grande o suficiente para não caber no cache.
Existem configurações disponíveis para ajustar esse comportamento? Posso aceitar uma transferência mais lenta de arquivos, se isso me fornecer mais capacidade de resposta.
Detalhes do sistema: Dell Optiflex 960, Core 2 Quad Q9650, 8 GB de RAM, 2 unidades SATA - 320 GB (ST3320418AS) e 1 TB (ST31000528AS), NCQ ativo em ambos, Ethernet Intel 82564LM-3 Gigabit, gráficos ATI HD 3450, ponte Intel ICH10. Temos várias máquinas como esta, todas exibindo o mesmo comportamento. Embora isso fosse um exagero para uma estação de trabalho, aparentemente eu estava enganado.
Atualização: acho que não deveria ter mencionado o HyperV. A configuração acima é uma instalação padrão da estação de trabalho na empresa em que trabalho; este não é um servidor de qualquer tipo. Eu tenho no máximo 3 máquinas virtuais funcionando e geralmente sou a única pessoa que as acessa. No entanto, a desaceleração ocorre mesmo quando não há VMs em execução. Em uma máquina Linux, bastava ionice
o processo de cópia e poderia esquecê-lo. Existe alguma maneira de gerenciar as prioridades de E / S no Windows?
fonte
Respostas:
Usar um servidor como desktop ... tem um driver de placa de vídeo sofisticado instalado? (apenas uma sugestão)
http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx
Atualização: em um i7 com suporte a SLAT ou EPT, você pode fazer algo assim {somente para VMs} via RemoteFX. Mas rodar o Aero no host ainda pode piorar o desempenho.
fonte
Estou inclinado a isso acontecer se você executar um servidor hyper-v em hardware inapropriado. Eu tinha o mesmo em sistemas de estação de trabalho reaproveitados, onde o orçamento de IO do disco ard estava na extremidade inferior.
Desde que mudei para um controlador de ataque adequado em um servidor mais robusto, eu posso copiar essas coisas em velocidades que eu achei incríveis antes (centenas de megabytes por segundo, enquanto outras coisas acontecem). O único problema é quando 10 ou mais vm estão fazendo sua orgia mensalmente ao mesmo tempo.
Sugiro verificar: * Tempo médio de resposta do disco, normalmente e durante as operações * Porcentagens de disco ocupado.
Para obter mais informações, poste o hardware completo - memória, processador, subsistema de disco e layout.
** Atualização
Você deve estar brincando para executar o Hyper-V contra isso.
Aqui estão algumas configurações que eu tenho.
AMBOS (!) Têm problemas ao fazer grandes transferências de arquivos quando o IO recebe impostos, embora o maior tenha uma rede limitada (1gbit até em 5 horas e depois 4) e geralmente o combo com o controlador lida com a situação MUITO bem.
Um sistema de 2 discos - e o 1 TB obviamente não é um disco de desempenho, mas um feito para o tamanho - é simplesmente como correr uma corrida de Fórmula 1 com um panda. O controlador de baixo preço a bordo sem buffer significa que também não é possível a otimização de IO. Quando a cópia do seu arquivo é acessada, o orçamento do disco entra totalmente nisso. Pode haver alguns restos para o sistema operacional, mas qualquer outra coisa .... uau.
Pelos padrões modernos, esse é o servidor final LOOOOOW ou uma estação de trabalho decente com muita CPU (8 GB de RAM é uma estação de trabalho superior). Os discos não têm classificação de servidor. Isso não é algo em que eu colocaria um hipervisor, exceto nas demonstrações. O Hyper-V é como um banco de dados - ele precisa de E / S. Muito de. Como o hypervisor mata totalmente o "acesso seqüencial" e o transforma em aleatório, como qualquer banco de dados.
Você precisa colocar recursos adequados de IO nele. Além de RAM suficiente (se necessário), você pode executar muito mais neles, em termos de máquina virtual - a CPU é simplesmente totalmente não utilizada. Espero que as suas VMs consumam bastante CPU, caso contrário serão desperdiçadas.
fonte
Eu tive um problema semelhante: Windows 2008, servidor VMware e um servidor low-end com unidades SATA. O desempenho da rede e a cópia local de arquivos grandes foram ruins. Depois de investigar, descobri que o modo SATA estava no IDE emulado na configuração do BIOS. Alterado para SATA nativo e o desempenho aumentou ligeiramente. No entanto, as unidades SATA não são a melhor idéia para virtualização. Três vms e outras tarefas do host significam que o acesso às unidades será um gargalo.
fonte
Convém tentar descarregar o máximo de IO do disco possível em uma SAN externa. (Um drobo faria o trabalho muito bem) Parece que o host simplesmente não consegue lidar com a quantidade de E / S. Também pode ser útil verificar se os drivers do chipset e do controlador de disco estão instalados e atualizados.
fonte
Parece que você tem 2 unidades SATA e eu acho que há mais atividade na unidade de 1 TB. Você não disse que tipo de unidades, mas eu também suspeitaria que elas não suportam o NCQ (o que ajudaria um pouco). Claramente, você tem um gargalo de IO. O optiplex 960, conforme configurado, não seria capaz de lidar com grandes cargas de E / S, pois acredito que os 2 discos compartilham o mesmo barramento (a bordo é um multiplicador de portas). Você pode tentar comprar um cartão de sata adicional (minha sugestão http://www.newegg.com/Product/Product.aspx?Item=N82E16816318008&cm_re=pci_express_sata- -16-318-008- -Produto) ou algo semelhante. Eu tentei usar desktops no passado como servidor e tive dores de cabeça semelhantes ao ponto em que agora vou escolher um servidor barato. A HP tem uma série ML 110 que custa US $ 400 (e isso é com um Core i3). Os chipsets de servidor são quase sempre controladores SATA de várias linhas.
fonte
Você pode examinar as prioridades de E / S usando o Monitor de Recursos. Eu também encontrei um tópico com uma ferramenta para ajustá-los aqui
fonte
Eu começaria com a instalação / execução do Process Hacker . É como o explorador de processos, mas melhor.
Inicie uma cópia de arquivo e, em seguida, comece a classificar os dados exibidos, procurando algo que pareça estranho.
Ferramentas -> Arquivo de paginação - É enorme? Qual foi o seu pico? Verifique o explorer.exe clicando duas vezes em Process hacker e veja a guia Performance. Aqui está a aparência da minha ao copiar uma pasta VM (contendo vários arquivos vmdk de vários tamanhos).
Confira a janela inferior que mostra minhas E / S. Eu assisti e vi que caiu para zero ao terminar cada arquivo.
A utilização dos recursos do explorer.exe aumenta?
Outro processo dispara? (ou seja, AV digitalizando o processo de cópia?)
Faça o mesmo em outro sistema com especificações semelhantes e compare os resultados.
Todos os seus núcleos estão sendo usados?
Esperamos que o Process Hacker lhe dê uma perspectiva adicional do problema.
fonte