Como um servidor blade pode lidar melhor com um grande número de usuários fazendo download de um arquivo binário estático?

1

Eu tenho um servidor blade único para trabalhar com (8 CPUs, largura de banda decente, executando o apache). Os usuários estarão se conectando ao servidor para baixar um único arquivo (a versão de 5mb ou a versão de 70mb). O que posso fazer para que o servidor não derreta sob carga?

Os usuários primeiro acessarão um arquivo PHP que determinará se eles podem acessar o arquivo ou não, e se o script passar, eles farão o download do arquivo. Só estou querendo saber o que posso fazer para garantir que nem todos os slots sejam preenchidos e que as pessoas acabem vencendo.

Estou antecipando o máximo de 10.000 downloads por dia. Um servidor blade decente seria capaz de lidar com isso?

    
por Daisetsu 31.01.2011 / 19:44

2 respostas

7

Primeiramente, é irrelevante se é um servidor blade ou um servidor regular de 'caixa de pizza', especialmente com um caso de uso tão simples.

Neste caso em particular, ter 8 núcleos é um enorme exagero, já que esta aplicação será 98% + ligada a IO.

Basicamente, existem apenas duas coisas que você pode fazer para tornar isso mais rápido; Aumente sua velocidade de IO (por exemplo, passando de NICs de 1 Gb para 10 Gb) e assegurando que o arquivo esteja sempre em cache, a menos que seu código PHP seja gravemente mal escrito, ele mal será registrado em mais de um núcleo.

    
por 31.01.2011 / 19:56
3

A maneira de "melhor" lidar com um único arquivo estático seria servir esse arquivo da RAM.

Eu recomendaria manter a cópia "real" no disco e, durante a inicialização, criar um disco RAM e copiar os arquivos para ele. Sempre que a cópia "real" for atualizada, copie-a para o disco RAM também.

    
por 31.01.2011 / 20:10

Tags