Servidor quase inutilizável ao fazer gravações em disco

3

A minha pergunta está relacionada com a minha última pergunta aqui no serverfault.

Eu estava copiando cerca de 5 GB de um computador desktop de 10 anos para o servidor. A cópia foi feita no Windows Explorer. Nessa situação, eu suponho que o servidor fique entediado com o fluxo de dados.

Mas, como de costume com este servidor, ele realmente ficou mais lento. Pelo menos eu poderia trabalhar com a sessão remota, mesmo que houvesse alguma latência séria. A cópia levou o seu tempo (20min?). Nessa época, fui a um colega e ele tentou fazer o login no mesmo servidor pela área de trabalho remota (por algum outro motivo). Demorou cerca de um minuto para chegar à tela de login, um minuto para abrir o painel de controle, um minuto para abrir o monitor de desempenho, ... Os ícones estavam carregando talvez um por segundo. Nós vimos o seguinte (da memória):

  • CPU: 2%
  • Média Comprimento da Fila: 50
  • Páginas / seg: 115 (?)

Não houve outra atividade considerável no servidor. O servidor raramente serve algumas páginas ASP.NET, que também se tornaram muito lentas neste período.

A configuração relevante é a seguinte:

  • Windows 2003

  • SEAGATE ST3500631NS (7200 rpm, 500 GB)

  • RAID 5 baseado em LSI MegaRAID

  • 4 discos, 1 hot spare

  • Escreva através de

  • Sem leitura antecipada
  • Modo de cache direto
  • Harddisk-Cache-Mode: desativado

Este comportamento é normal para essa configuração? Quais medidas poderiam dar pistas adicionais?

É razoável reduzir a prioridade de tal cópia de E / S e favorecer outros processos, como a área de trabalho remota? Como você faria isso?

Muito obrigado!

    
por Wikser 02.04.2010 / 09:56

3 respostas

2

sobrecarga de disco. Que simples. Média comprimento da fila 50 - marque "segundos por IO / Leitura / gravação" - que também será muito alto.

Parece que basicamente você sobrecarrega totalmente os discos, e ter o modo cache de disco rígido desligado também não ajuda (configuração ruim - pelo menos colocá-lo no cache de leitura ... melhor gravação + ups - sem cache SATA NCQ não pode funcionar, matando seu desempenho).

O principal problema é o seu RAID 5 - basicamente tem tudo isso. Área de arquivo E sistema operacional, portanto, uma sobrecarga sobrecarrega todo o sistema.

Para servidores reais eu uso o WD Scorpio Black em um Raid 10 (4 discos) para o sistema operacional e (só faço virtual) virtualization root - o Raid 10 me oferece melhor desempenho. Para um servidor de arquivos de alto desempenho, eu adicionaria um segundo ataque (pode ser o RAID 5) para os arquivos. O truque aqui é que a área de arquivos e a área do sistema operacional nunca podem se sobrepor (mesmos discos). No seu caso - pegue um pequeno disco rígido (80gb ou mais) - dois deles - e coloque um espelho neles e mova o sistema operacional para ele. Então, o servidor ainda pode ser usado quando o pedido de inserção estiver acumulando.

Páginas / segundo não dizem nada - isso significa que há alguma memória virtual por aí. Se isso atingir os discos durante a cópia do arquivo (provavelmente, mas esse é outro contador de desempenho que marca a atividade física como resultado de falhas de página), então, naturalmente, ele entra na fila.

E, por favor, faça o cache. O LSI pode lhe vender algum bbu (unidade de reserva de bateria?). Eu uso o Adaptec como controlador RAID, e desde que eu tenho uma BBU neles, eu coloco o cache em write back (NÃO escreve) - o ganho de desempenho das otimizações é significativo.

    
por 02.04.2010 / 11:16
1

O problema foi bem caracterizado pelas outras respostas, mas em resumo:

Sua matriz RAID com 3 discos 7200 RPM (ativos) em RAID 5 possui um desempenho de gravação de aproximadamente 3/4 da velocidade de uma única unidade de 7200 RPM para cópias estendidas. Dado que você desativou o cache \ read ahead etc, o desempenho será ainda pior do que isso. Na maior parte, o desempenho do seu servidor a partir de uma perspectiva de gravação é muito ruim com essa configuração.

Se o seu 5GB é um único arquivo grande (ou um par de arquivos razoavelmente grandes) e se sua cópia baseada em rede está sendo enviada mais rápido que 30Meg / seg (fácil com uma conexão Gigabit) então os discos do seu servidor não serão capaz de manter-se atualizado, o buffer de cópia de rede no servidor aumentará até consumir toda a memória disponível no servidor e, em seguida, forçará o SO a iniciar a paginação excessivamente, agravando ainda mais o problema de desempenho. Dependendo do que outras coisas realmente estão acontecendo no servidor, a velocidade de cópia necessária para matar o sistema pode ser ainda menor do que isso, se houver qualquer outra atividade de leitura / gravação, mesmo com taxas muito baixas, uma conexão de 100Meg pode ser suficiente para acionar esse tipo de problema.

    
por 02.04.2010 / 17:47
0

Tem certeza de que a matriz RAID não está sendo reconstruída? Eu vi uma reconstrução / verificação trazer uma caixa de joelhos. Você pode até ter uma unidade que é marginal e não consegue acompanhar os outros, mas não está lançando códigos de erro (ainda).

Uma unidade 'RAID' deve informar imediatamente ao controlador que há um problema, unidades 'consumidor' (são as mesmas, mas com firmware diferente) continuarão tentando novamente uma solicitação com falha, em vez de usar uma falha rápida. Eu tive alguns que eventualmente foram descartados de uma matriz devido a tempos limite sob carga. Eles checavam bem e reconstruíam (geralmente) sem incidentes, apenas para começar a cronometrar novamente assim que a caixa estivesse sob carga. A constante reconstrução e paralisação das unidades traria a caixa a um impasse após alguns ciclos de reconstrução.

    
por 02.04.2010 / 15:29