Tuning Apache e servidor para uploads de fotos em massa

1

Eu tenho um servidor Apache em execução em uma plataforma EC2. Ele está recebendo muitos uploads de usuários (arquivos de imagens grandes).

O problema é que imediatamente após o upload eu tenho que converter imagens para outros tamanhos, porque elas têm que ser usadas na "próxima página".

Eu escolhi o ImageMagick, pois notei que até mesmo o Flickr o está usando ( link ), e leva cerca de 4 segundos para gerar todos tamanhos de fotos.

O problema é quando eu tenho 50 usuários simultâneos ou mais. Eu fiz testes de estresse e o servidor começa a ficar mais lento.

Então, alguma ideia de como ajustar o Apache para uploads massivos?

Alguma ideia de como fazer tudo mais rápido?

    
por naiad 08.04.2011 / 02:05

4 respostas

2

A partir dos sons, seu problema não é o apache, mas sim a carga no servidor de tentar executar tarefas simultâneas de processamento de imagem. Em vista disso, não importa como você ajusta o apache, você ainda terá um desempenho pior à medida que mais e mais usuários usarem seu serviço.

A primeira sugestão seria descarregar as imagens em um cluster de máquinas para processamento de imagem dedicado. É muito mais escalável do que aumentar seu servidor da Web para tentar processar processamento de imagens em larga escala.

    
por 08.04.2011 / 02:27
1

Tivemos o problema semelhante e resolvemos melhorar nosso desempenho recompilando a opção Imagemagick with --disable-openmp que causa alta tensão na CPU devido a encadeamentos internos (não utilizados / indesejados).

Depois de procurar por respostas, cheguei a este tópico que me orientou a desativar a função acima, estou certo de que irá melhorar o seu desempenho na criação das imagens.

link

    
por 07.07.2011 / 07:12
0

Obtenha mais potência de CPU, mais memória (RAM) - o redimensionamento de imagem é uma operação computacional e muitas vezes intensiva de memória; se você estiver fazendo muito disso, precisará de especificações de hardware mais potentes.

Se você estiver executando vários redimensionamentos em uma única imagem, tente e certifique-se de executá-los em ordem decrescente de tamanho, para poder executar redimensionamentos posteriores usando imagens de origem menores (desde que isso ofereça qualidade aceitável).

    
por 08.04.2011 / 02:14
0

Talvez você deva recompilar o ImageMagick para usar apenas Q8, profundidade de canal de 8 bits. Se os arquivos JPEG forem usados, isso poderá levar a um sério ganho de desempenho, porque menos memória será usada.

    
por 20.01.2012 / 18:48