Há bastante tempo eu (lonefreak) e krateria temos batido cabeça tentando entender porque uma aplicação em Rails, que rodava tranquila com Mongrels estava com problemas de lentidão no Apache (em ambos os casos dentro de um FreeBSD. Hoje, enfim, encontramos a solução.
Ao que parece, todo o problema residia na forma como o FastCGI, módulo utilizado pelo Apache, estava tendo problemas para iniciar uma instância do módulo, estivesse ele em modo Dynamic, Static ou External. Depois de fuchar e mexer um bocado, acabamos topando com este tutorial, realmente muito útil e que sugere a utilização de outro módulo, o fcgid. E não é que funcionou mesmo?
E foi relativamente simples de resolver. Leve em consideração que já tínhamos aqui um ambiente estável rodando Rails no Apache, com FastCGI, apenas muito lento. Então as mudanças não foram tantas. Instalamos o pacote do fcgid pelo ports e não pelo gem (o que por si só pode salvar você de muita dor de cabeça) e usamos a biblioteca fcgi_handler, ao invés da fcgi (com ou sem rubygems), como indicado no tutorial.
O fcgid não foi muito comentado e há pouca documentação disponível, mas pareceu muito mais robusto e estável que o FastCGI. Além disso, nos livrou do problema de tentar o Rails com o LigHTTPD.
See ya