Souhlasím se všemi ostatními. Musíte se profilovat. Nemá smysl s kódem nic dělat, dokud nezjistíte, co konkrétně způsobuje pomalost. Pokoušet se vyřešit problém bez pochopení příčiny je jako cítit se nemocně a rozhodnout se podstoupit spoustu operací, dokud se nebudete cítit lépe. Nejprve diagnostikujte svůj problém. Může to být něco malého, jako je nastavení sítě, nebo to může být jeden špatný řádek ve vašem kódu.
Několik tipů pro profilování:
Jak profilovat svou aplikaci Rails
At the Forge – Profiling Rails Applications
Jakmile najdete úzké místo, můžete zjistit, co dělat.
Doporučuji tato videa:Railslab Scaling Rails
Revidováno nyní na základě výsledků prof:
OK. Nyní, když vidíte, že váš problém spočívá v tom, že provádíte nějaký druh výpočtu pomocí dotazu založeného na opakování výsledků dotazu jiného aktivního záznamu, doporučil bych vám, abyste se podívali na vytvoření vlastního příkazu SQL kombinující vaše počáteční kritéria výběru a výpočet smyčky, abyste získali to, co potřebujete. Určitě to můžete urychlit optimalizací SQL.