[CentOS-pt-br] [OT] - Estrutura de armazenamento de uma grande quantidade de arquivos

Giovanni Tirloni tirloni em gmail.com
Sexta Novembro 27 19:50:45 UTC 2009


2009/11/27 "Fábio Jr." <fjuniorlista em gmail.com>:
> Fabio Rampazzo Mathias escreveu:
>> Fabio,
>>
>> Vamos com calma....você não tem 4 milhões de figuras....você tem
>> aprox. 1,34 milhão de figuras (4/3).... o resto é resize da mesma, que
>> você pode armazenar no mesmo registro do MySQL. Só programar para
>> trazer a figura conveniente. Depois, você está compartilhando um
>> diretório via NFS. Eu diria que, o gargalo está no NFS, pois ele não é
>> performático como o filesystem.
> Tenho 4 milhões de aquivos no total. Uma imagem tem 3 tamanho diferentes
> e são 3 arquivos diferentes. Ok, acho q foi isso q vc entendeu mesmo, só
> pra confirmar. Concordo com você ao dizer que nfs é gargalo, mas ele é
> um dos gargalos, já que a medida que eu aumento o numero de arquivos no
> mesmo diretório, o próprio filesystem começa a perder performance na
> hora de me retornar o arquivo. Pelo menos foi isso que eu percebi aqui.
>>
>> Outro ponto importante é a aplicação. Há a viabilidade de requisitar
>> as 7 ou 10 figuras de uma vez só?
>>
> Através de uma conexão ao banco sim, mas não através de uma consulta só.
> Eu posso abrir uma conexão, e fazer as minhas 7 ou 10 consultas nessa
> mesma conexão.
>> Acho que mesmo que a pergunta anterior não seja respondida de forma
>> afirmativa, um banco de dados traria ganhos em termos de performance.
>>
>> Você sabe qual é a média de acessos e o pico de acessos (em
>> quantidade) ??? Quanto ao cluster, qual máquina que você possui para o
>> servidor NFS ?
> O pico é de 120 requisições por segundo, e a média do dia é 40 req/seg.
> Isso pq de madrugada a quantidade de requisições é muito baixa. A média
> de requisições em horário comercial é de 60 req/sec.
>
> O servidor nfs é um Dual Xeon 5405 com 2 GB de memória com discos SAS de
> 15k RPM com espelhamento.

Todas as soluções apresentadas são ótimas do ponto de vista de cada
um. Entretanto o seu maior problema, pelo que entendi, é o tempo que o
fs demora para buscar o arquivo nesse diretório. Como já sugeriram,
fazendo a simples mudança de criar mais diretórios irá resolver seu
problema.

abcdef.jpg -> a/b/c/abcdef.jpg

Essa mudança na aplicação deve ser infinitamente mais fácil que
colocar tudo em um banco de dados e mudar a lógica toda.

Tenho lá minha dúvidas se adicionar camada de abstração em cima de
camada de abstração vai melhorar a performance. Como sempre, o melhor
é montar um ambiente separado e testar para a sua situação.

A Internet está cheia de dicas de como otimizar o NFS.

-- 
Giovanni.


Mais detalhes sobre a lista de discussão CentOS-pt-br