Tudo depende de como seu aplicativo da web é projetado. Você pode realmente passar "solicitações http tradicionais" através de um websocket estabelecido ... ou você pode processar a solicitação no método mais tradicional. Infelizmente (da perspectiva de um engenheiro de sistemas), os desenvolvedores são preguiçosos ... e raramente passam pelo esforço necessário para passar a maior parte do tráfego através de um websocket estabelecido. É mais comumente usado para anunciar "atualizações" para vários bits na página ... e o trabalho de extrair dados de imagem e qualquer outra coisa que seja deixada para os GETs e POSTs mais comuns.
Em suma ... sim ... você vai amarrar um processo durante o tempo de vida de cada websocket ... e uma conexão para cada solicitação. Você pode, no entanto, fazer uso de keep-alives de conexão para reciclar a mesma conexão através de & mais ... mas isso pode afetar o tempo total de carregamento da página, já que você deve esperar que cada item seja enviado em série em vez de em paralelo.Este é o lugar onde o rubber-meets-the-road quando se trata de Apache. Você pode alterar o Módulo de Multiprocessamento (MPM) para alterar como essas conexões de manutenção são tratadas ... bem como muitas outras coisas para ajustar o desempenho geral.
Apesar de todo o ajuste que você pode fazer no Apache ... às vezes não é a ferramenta perfeita para o trabalho. Apache é o canivete suíço na caixa de ferramentas. Ele é projetado para ser a ferramenta mais dinâmica na caixa de ferramentas. O Nginx é mais simples, e não inclui as opções de pinça ou tesoura que você encontrará na apache-knife ... e o nodejs é apenas uma faca de manteiga. Às vezes (quando o ambiente permite) é melhor misturar & jogo para obter os benefícios de todos eles.