Milhões de conexões simultâneas? A menos que você esteja hospedando fluxos de vídeo ou outros arquivos grandes, os pedidos de HTTP geralmente terminam em tão pouco tempo que, mesmo com sites mais ocupados, você não obtém tantas conexões simultâneas . Se você fizer isso, você seriamente não tem apenas um servidor. Além disso, com esse tipo de tráfego, seu tráfego de rede estaria em um nível tão alto que não acho que um servidor seria sua melhor aposta.
Mas, vamos imaginar que você realmente execute um serviço com apenas um servidor e milhões de conexões simultâneas: nginx ou lighttpd seria a melhor opção. Em seguida, você provavelmente precisará ajustar muitos parâmetros do kernel, como fs.open
. Além disso, você provavelmente precisará compilar seu próprio kernel.
Veja aqui slides sobre como a HEANET dimensionou seu Apache 2.x para 20 0000+ sessões simultâneas . Note que mesmo isso exigiu muitos ajustes.