1° Nessa aplicação tem espaço pra cache?
2° Seria bom tentar identificar exatamente o gargalo em um ambiente de desenvolvimento com as mesmas configurações do ambiente produtivo, fazendo testes de carga.
3° Essa aplicação faz um processamento pesado que envolve uso de CPU? Se sim, pode ser uma boa jogar isso para um serviço separado (que você consiga escalar horizontalmente nos horários de pico).
4° Você roda algum banco de dados nesse mesmo servidor? Se estiver rodando, habilite o slow queries, e dê uma olhada no processlist pra ver se não existe alguma query pesada drenando o CPU da máquina (que possa ser otimizada com o uso de índices).
Em resposta a Quedas no Servidor
1