Fragmentação de disco ao lidar com muitos arquivos pequenos

5

Diariamente, geramos cerca de 3,4 milhões de pequenos arquivos jpeg. Excluímos também cerca de 3,4 milhões de imagens com 90 dias de idade. Até o momento, lidamos com esse conteúdo armazenando as imagens de maneira hierárquica. O heriarquia é algo assim:

/Year/Month/Day/Source/

Essa hierarquia nos permite excluir com eficácia dias de conteúdo em todas as fontes.

Os arquivos são armazenados em um servidor Windows 2003 conectado a um 14 disco SATA RAID6.

Começamos a ter problemas significativos de desempenho ao escrever e ler a partir dos discos.

Isso pode ser devido ao desempenho do hardware, mas suspeito que a fragmentação do disco também possa ser um culpado.

Algumas pessoas recomendaram armazenar os dados em um banco de dados, mas tenho hesitado em fazer isso. Outro pensamento foi usar algum tipo de arquivo contêiner, como um VHD ou algo assim.

Alguém tem algum conselho para atenuar esse tipo de fragmentação?

Informações adicionais:

O tamanho médio do arquivo é de 8 a 14 KB

Formatar informações do fsutil:

NTFS Volume Serial Number :       0x2ae2ea00e2e9d05d
Version :                         3.1
Number Sectors :                  0x00000001e847ffff
Total Clusters :                  0x000000003d08ffff
Free Clusters  :                  0x000000001c1a4df0
Total Reserved :                  0x0000000000000000
Bytes Per Sector  :               512
Bytes Per Cluster :               4096
Bytes Per FileRecord Segment    : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length :           0x000000208f020000
Mft Start Lcn  :                  0x00000000000c0000
Mft2 Start Lcn :                  0x000000001e847fff
Mft Zone Start :                  0x0000000002163b20
Mft Zone End   :                  0x0000000007ad2000
    
por Zorlack 19.04.2010 / 18:04

2 respostas

1

Diskeeper 2009 (agora 2010) funciona bem para desfragmentar em tempo real com impacto mínimo no desempenho. No entanto, há um custo, pois é um pacote comercial. Tentamos vários aplicativos gratuitos e encontramos problemas significativos de desempenho.

Página inicial do Diskeeper

    
por 19.04.2010 / 18:55
1

Presumo que você esteja retendo 90 dias de imagens no seu post. Fazendo alguma matemática rápida, parece que você precisa de 4,28 TB de armazenamento. Quais são os padrões de E / S como (ou seja, qualquer um dos dados é acessado com mais freqüência)? Quantos volumes você tem esses dados espalhados? Com que rapidez o desempenho é degradado para um nível inaceitável após uma desfragmentação?

Se você não estiver disposto a fazer alterações no sistema (introduzindo um banco de dados), talvez você deva se concentrar em como você pode desfragmentar de maneira gerenciável com as ferramentas que são empacotadas com o sistema operacional. Gire e divida os dados em vários LUNs menores para que você possa desfragmentá-los individualmente. Depois que você terminar de escrever X dias de dados, mova para o próximo LUN e desfragmente o volume com os X dias anteriores. Se você não está mais escrevendo, não deve introduzir mais fragmentação.

Se você tiver recebido um orçamento considerável, poderá procurar um meio de armazenamento que seja imune à fragmentação (como um SSD).

    
por 21.04.2010 / 00:49