Copiando arquivos gera atraso do disco

2

Eu tenho alguns serviços do Game Server rodando na máquina Debian Kernel Customizado de 64 bits da Debian.

Atraso-me aos meus serviços atualmente em execução sempre que eu instalo um novo serviço.

Instalar um novo serviço envolve apenas extrair os arquivos para o diretório de um usuário, embora eu faça isso na prioridade mais baixa (bom limite de SCP de 19 e 1000kbps).

Desta vez, tirei uma saída "vmstat 3" durante o tempo em que eu estava instalando o novo serviço e quando ocorreu o atraso. Eu não sou bom em lê-lo bem, mas eu acho que estes são alguns problemas de disco.

link

Veja os números de linha 11 a 16 no momento em que isso aconteceu.

ATUALIZAÇÃO:

Aqui está

df -h

Saída: link

E o disco 250G é o que está em uso com essas operações e serviços.

    
por Asad Moeen 17.08.2012 / 16:40

3 respostas

3

Sugiro alterar o Agendador de E / S no sistema de seu padrão e testar novamente a cópia do arquivo . Dependendo da sua versão do kernel, você pode ter o deadline scheduler definido como padrão . Talvez este seja um caso em que o cfq scheduler faria mais sentido.

Verifique sua configuração atual com:

cat /sys/block/<device>/queue/scheduler

Onde está o dispositivo de bloco da unidade de dados (por exemplo, sda, sdb, etc.)
Dependendo do que você definiu atualmente, você pode alterá-lo com:

echo deadline > /sys/block/<device>/queue/scheduler

ou

echo cfq > /sys/block/<device>/queue/scheduler

Teste sua cópia de arquivo ...

Você também pode fazer isso globalmente anexando elevator=deadline ou elevator=cfq à linha de inicialização do kernel do GRUB e reinicializando.

    
por 17.08.2012 / 16:53
2

Existem algumas coisas que você pode fazer. O IO Scheduler é o menor pendente geral e não requer nenhuma reconfiguração importante.

Algumas outras coisas a considerar seria aumentar o tamanho do bloco do seu sistema de arquivos. O padrão é 4K para a série ext que, na maioria dos casos, é adequada. No entanto, é importante saber um pouco mais sobre o armazenamento subjacente. Por exemplo, se os seus discos estiverem em uma matriz RAID, talvez seja vantajoso que seus tamanhos de bloco sejam iguais ao tamanho da faixa. Se você estiver usando uma verificação de disco padrão para ver se está usando setores de 4KB (consulte / sys / block // queue / hw_sector_size). Os discos mais recentes usarão setores de 4K. Se você estiver usando setores de 4K, talvez queira fazer algumas pesquisas para garantir que suas partições sejam corretamente alinhadas ao setor para obter desempenho máximo. A maioria das distribuições Linux conta para isso hoje, no entanto. Aumentar o tamanho de bloco de um sistema de arquivos pode permitir que pedaços maiores de dados sejam agrupados no disco, resultando em menos operações de busca. No entanto, tamanhos de bloco maiores podem resultar em espaço em disco diminuindo mais rapidamente para muitos arquivos que requerem um pequeno número de blocos.

O sistema de arquivos ext também tem algumas opções com relação às barreiras de leitura / leitura de E / S, e pode ser benéfico dar uma olhada em algumas delas também. Além disso, se você tiver vários discos, considere colocar o diário em outro disco. Isso reduzirá a carga de E / S no disco, resultando em maior taxa de transferência.

    
por 17.08.2012 / 17:49
0

Use ionice . A prioridade inativa ajudará você.

ionice -c 3 <command>
    
por 17.08.2012 / 17:30