
Estou tentando descobrir que tipo de configuração de servidor precisarei oferecer suporte:
- 1 mil solicitações de postagem http por segundo
- cada postagem conterá um arquivo xml entre 5 e 50K (média de 25 kilobytes)
Mesmo se eu conseguir uma conexão de 100 Mb/s com minha caixa dedicada (eles geralmente fornecem 10 Mb/s, mas você pode atualizar), pelos meus cálculos isso é cerca de 12K kb/s, o que significa cerca de 480 arquivos de 25kb por segundo.
Então, isso significa que preciso de cerca de 3 servidores, cada um com conexão de 100 Mb/s.
Um único servidor executando o HAProxy seria capaz de redirecionar as solicitações para outros servidores ou isso significa que preciso obter algo que possa lidar com mais de 100 Mb/s para fazer proxy para outros servidores?
Se minha matemática estiver errada, eu apreciaria qualquer correção que você possa ter.
Responder1
Primeiro, presumo que você dimensionou seus servidores corretamente, pois está perguntando apenas sobre largura de banda.
Em segundo lugar, você vai querer projetar para o pior cenário possível. que seriam todas as 1.000 solicitações postando um arquivo de 50K.
Em segundo lugar, vamos normalizar tudo em bits por segundo em vez de bytes por segundo, já que é nisso que a largura de banda é medida.
Então isso nos dá (50 * 8) * 1.000 = 400.000. Traduzido em Mbps, isso seria 400. Agora você precisa adicionar a sobrecarga de aproximadamente 20% que o TCP e a Ethernet adicionam e obterá um cenário pior de 480 Mbps.
Sua instância HAProxy precisaria ser gigabit para lidar com todo esse tráfego. E você precisaria de pelo menos 4 servidores atrás rodando a 100 Mbps.
Agora, a advertência, essas velocidades são as velocidades de sua conexão com a Internet. Você precisa perguntar ao seu provedor quais são as velocidades entre servidores. Esperançosamente, se for um bom provedor, o gigbit interconecta-se entre servidores, então você só precisa se preocupar com o uso da Internet.