Qual é o seu gargalo?
Assumindo que a largura de banda é um problema seu, por exemplo ao servir imagens de alta resolução, usar um CDN será benéfico.
Se o seu site é computacionalmente caro, o balanceamento de carga entre vários servidores parece ser o caminho a ser seguido. Hospedar seu webapp em uma nuvem facilitará esse dimensionamento, e você sempre poderá reduzir ou passar para uma solução conservadora quando puder estimar com precisão o número de usuários. O dimensionamento em vários servidores pode se tornar difícil se os usuários interagirem entre si usando seu site. Nesse caso, a comunicação ponto a ponto entre usuários ou uma fila de mensagens entre seus servidores parece uma boa ideia.
Você pode querer ajustar sua pilha de tecnologia para um melhor desempenho. Conteúdo estático pode ser armazenado em cache. Se você estiver executando uma linguagem interpretada no servidor, uma implementação alternativa pode ter um perfil de desempenho melhor (possivelmente trocando tempo de inicialização ou memória para execução geral mais rápida). Não há desculpa para usar scripts CGI neste dia e idade para uma webapp moderna.
Eu não sei como você lançará seu site. Se você está alvejando um público internacional, uma possibilidade seria liberar o site em um determinado horário local para cada usuário. Uma variação disso seria exibir o site como fechado para uma determinada porcentagem de IPs quando a carga é alta. No entanto, exigir um endereço de email para efetuar login seria realmente preferível. Se a carga estiver alta, diga ao usuário que ele receberá o e-mail de ativação em cerca de dez minutos (mas, dê prioridade a ele). Você também pode fornecer URLs com um token de acesso a indivíduos específicos antes de abrir o site oficialmente. Você pode tentar estimar o interesse público de várias métricas, como a porcentagem de pessoas que usaram seus tokens, o número de tweets, etc.
Um controlado lançamento pode ser alcançado, dando a cada usuário de pré-abertura um número de mais fichas, que ele pode dar. Isso permite ajustar a taxa de expansão até você abrir para o público em geral. Tenha cuidado com essas táticas: enquanto a escassez artificial pode aumentar o interesse, isso também torna mais difícil para o seu produto “se tornar viral”.
Se houver poucos slots fixos disponíveis para os usuários, você poderá exibir sua posição em uma fila de espera e talvez dar uma pista sobre o tempo de espera restante. Como você pode reduzir o tempo de espera percebido é uma questão interessante sobre UX.
No final, essa não é apenas uma questão técnica interessante, mas também uma questão de marketing .