Estamos executando um site que atualmente atende a 3-5 milhões de visualizações de página. Nosso site é um site de compartilhamento de arquivos e, portanto, contém 250.000 arquivos e alguns milhares de links simbólicos.
O disco rígido é um disco SATA de 1500 GB.
Usando hdparm
, descobrimos que a velocidade de nosso disco rígido foi reduzida para 15-20 MB / s, que era de 80 MB / s.
Então agora queremos rodar fsck
para corrigir o problema do disco.
- Vai
fsck
resolver esse problema? - Quanto tempo
fsck
levará para ser concluído (apenas queremos calcular o tempo de inatividade que teremos)?
hard-drive
linux
kernel
fsck
capacity-planning
khizar ansari
fonte
fonte
Respostas:
A degradação da velocidade é esperada à medida que o número de arquivos acessados simultaneamente aumenta. As unidades de disco rígido não gostam de ser acessadas em paralelo: toda vez que o cabeçote de leitura / gravação precisa trocar de cilindro, você perde vários milissegundos. Mesmo se dois arquivos estiverem no mesmo cilindro, ou mesmo na mesma faixa, talvez seja necessário aguardar uma rotação para passar de um para outro. Se você medir o desempenho da unidade em megabits por segundo, espere que caia exponencialmente à medida que o acesso paralelo aumentar.
fsck
não ajudará nisso: ele apenas repara os danos à estrutura de diretórios, não realiza nenhuma otimização.A solução ideal seria mudar para o armazenamento em estado sólido, já que isso não tem nenhuma das limitações físicas dos pratos giratórios. Mas isso provavelmente é proibitivo em termos de custos.
O próximo melhor seria usar um RAID otimizado para acesso paralelo. Lembre-se de que os RAIDs podem ser configurados para muitos perfis de desempenho diferentes, portanto, você precisará de um tempo para aprender as configurações de qualquer hardware e driver RAID.
Você pode reduzir o problema usando o cache agressivo do sistema de arquivos. Se o seu sistema tiver RAM suficiente, o Linux já deve estar fazendo isso bastante bem. Execute um programa como
top
para ver quanta RAM livre existe. Mas se os arquivos mais usados não couberem na RAM (ou na RAM que você provavelmente adquirirá), isso realmente não ajudará.Uma solução alternativa para os pobres seria dividir seus arquivos em vários discos rígidos físicos diferentes (não apenas em partições diferentes na mesma unidade). Essa não é realmente uma solução escalável de longo prazo e acabaria custando mais do que um RAID decente. Mas pode ser uma solução rápida se você tiver unidades por aí.
Para qualquer solução que envolva unidades de disco rígido, verifique se elas têm uma velocidade de rotação rápida e baixa latência de busca.
Escrevi um artigo com algumas informações gerais sobre o desempenho do disco rígido aqui:
Dicas do UNIX - Sistemas de arquivos
fonte
hdparm
referência dele tendo muito a ver com "acesso paralelo". Para mim, parece mais que ele tem um disco defeituoso. Era mais rápido no passado e agora não é. Provavelmente porque está realocando setores.hdparm
realizados os testes e os resultados foram em "megabits" ou "megabytes" por segundo?Eu esperaria 5 horas para o fsck concluir.
Em vez disso, eu consideraria (isso significa: testar, testar e testar) uma migração para o reiserfs.
fonte
fonte
O hdparm faz uma leitura seqüencial. O disco do servidor de arquivos deve ser muito procurado, como os outros caras disseram.
Se você estiver recebendo erros de HD, eles devem aparecer em seu / var / log / em algum lugar.
Por que você não tenta "smartctl -t short / dev / sda" e depois "smartctl -t long / dev / sda" ?? ... Com a maioria do novo HDD, você pode emitir esse comando mesmo quando usa o HD . O Smart fornecerá alguns resultados. Você pode ler a saúde do seu disco rígido usando "smartctl --all / dev / sda".
Se você estiver enviando um hdparm para o HDD montado com acesso simultâneo, essa pode ser a resposta porque seus resultados são muito menores do que antes.
Eu deveria mover seus dados para uma configuração de RAID o mais rápido possível.
fonte