O pessoal costuma dizer que Rails é rápido por dois motivos:
- Não há parser de XML (arquivos de configurações),
- Existe mecanismos de cache que geram páginas estáticas.
Porém, novos frameworks Java estão deixando cada vez mais de usar XML e, se você criar um site protegido por senha, cacheamento de páginas não é recomendável (pra não dizer proibido).
Mas na real, se o usuário estiver usando uma conexão lenta, a única coisa que importa é “enxugar” os arquivos HTML, CSS, JS e imagens, ou seja, vai ter que ficar medindo tamanho de Kbytes das páginas e imagens e fazer de tudo pra diminuir. Existem algumas bibliotecas de minificação (minify), que corta espaços em brancos, deixando o arquivo na metade do tamanho. Acredito que é possível também fazer Gzip nas páginas, pois, se informar não-sei-o-quê no header os browsers descompactam sem o usuário perceber, mas não conheço tanto assim HTTP no “baixo nível”, vai ter que procurar no Google e ver se o que eu estou falando é verdade.
Tente também contar o número de cliques que o usuário dá pra fazer algo que ele precise. Se ocorrer muitos, tente refazer o fluxo de navegação para que o usuário encontre o que quer com menos cliques.
Entre Ruby e Java, escolha o que for mais confortável pra você. O que acontece no lado servidor não importa muito, compra o melhor servidor que dá e seja feliz.