A primeira coisa que você precisa analisar é determinar onde está o gargalo.
- A CPU do sistema está vinculada ou há CPU disponível, mas os processos do aplicativo da Web não estão sendo usados de maneira eficiente (ou seja, não há threads de trabalho suficientes)?
- O sistema está sem RAM ou fazendo muitas trocas?
- Você está afundando no seu banco de dados? Você tem consultas lentas, precisa de índices ou está com problemas de bloqueio?
- Assista o tempo até o primeiro byte de uma solicitação de aplicativo e compare-a com a de uma solicitação de um recurso estático do servidor da Web que não toca no código do aplicativo. Isso mostrará a rapidez com que você app está processando a solicitação.
De modo geral, esses tipos de problemas de desempenho estarão no aplicativo, e não na configuração do servidor da Web.
Após entender seu gargalo, você poderá aliviá-lo com a ajuda do software do servidor da Web (os métodos exatos dependem do código do aplicativo que você está executando e de como você o anexa ao servidor da Web, mas há muita informação disponível para obter o máximo de desempenho do FastCGI ou mod_passenger
), mas só haverá muito o que você pode fazer lá.
Em resumo: não comece com o servidor web, comece com o rastreamento do gargalo e conserte-o - se você achar que pode fazer alguma coisa no seu servidor da Web para ajudar, tente isso, mas não é provável consiga corrigir um problema de desempenho com seu aplicativo.