Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Ruby On Rails é lento...?


Eu vou concordar com todos os outros. Você tem que fazer um perfil. Não faz sentido fazer nada no seu código até que você saiba o que especificamente está causando a lentidão. Tentar resolver um problema sem entender a causa é como se sentir mal e decidir fazer muitas cirurgias até se sentir melhor. Diagnosticar seu problema primeiro. Pode ser algo pequeno como uma configuração de rede ou pode ser uma linha ruim em seu código.

Algumas dicas para o perfil:

Como criar o perfil de seu aplicativo Rails

Aplicativos Rails de teste de desempenho

No Forge - Profiling Rails Applications

Depois de encontrar o gargalo, você pode descobrir o que fazer.

Eu recomendo estes vídeos:Railslab Scaling Rails

Revisado agora com base nos resultados do prof:

OK. Agora que você pode ver que seu problema é que você está fazendo algum tipo de cálculo usando uma consulta baseada em loop pelos resultados de outra consulta de registro ativo, eu aconselho você a criar uma instrução SQL personalizada combinando seus critérios de seleção iniciais e o cálculo do loop para obter o que você precisa. Você pode definitivamente acelerar isso otimizando o SQL.