Was kann ich tun um die Geschwindigkeit Rails-Modus?
Schienen, auf Entwicklung-Modus ist sehr LANGSAM. Sehr, sehr langsam. Ich betreibe Vista, und ich config.cache_classes = true
im development.rb
... Aber, es ist immer noch langsam und ich muss den server neu starten, nachdem ich meinen code.
Meine Mitarbeiter entwickelt Rails auf dem Mac und sieht ähnlich Langsamkeit.
Meine Entwicklung Zeit verlangsamt sich deutlich, weil es dauert Minuten, um zu testen, code-änderungen.
Ist dies so gut wie Rails-Entwicklung bekommt? Oder bin ich etwas fehlt, dass Sie machen es schnell, und mein Leben glücklich?
- Es scheint, dass Sie nur entlüften Dampf hier von bashing Schienen. Ich bin kein rails-user, aber weder sehe ich eine tatsächliche sinnvolle Frage hier. Fragen Sie über Skalierbarkeit Probleme mit den Schienen? Fragen Sie über mögliche Updates zu dieser Langsamkeit, die Sie erleben?
- Ich bin nicht bashing Schienen. Ich Liebe, mit Schienen für viele Gründe, es ist Entwicklung-Modus, server-Geschwindigkeit, nicht einer von Ihnen. Es ist nicht eine Skalierbarkeit Problem, es ist ein Problem von dev-Geschwindigkeit. In Bezug auf die Leichtigkeit der Kodierung, Rails hat mich gerettet eine Menge Zeit. Ich würde gerne noch mehr sparen mit einem schnelleren dev-server.
- Läuft es schnell in der Produktion?
- laufen tut er ja schnell in der Produktion
- Ich weiß, dass Leistung, ist ein Wunder Punkt in der RoR-community, aber es ist ein Wunder Punkt für einen Grund: es ist eine berechtigte Kritik. Nichts der OP gepostet, die auch nur im entferntesten Ansätze "Entlüftung Dampf hier von bashing Schienen". Die sinnvolle Frage ist, "Bin ich etwas fehlt, werde es schnell?"
- Danke, Imagist. Diese sind Technologien, die nicht Völker' Mütter. Lassen Sie uns nicht nehmen legit Kritik persönlich.
- Es gibt etwas falsch mit Ihrer Installation.
- Bitte geben Sie weitere details. Ist es nur beim starten des Servers, die langsam ist, oder ist es langsam bei jeder Anforderung an die Anwendung? Können Sie eine grobe Schätzung von "langsam" in Sekunden? Ist die app über alle anderen Edelsteine/plugins? Was ist, wenn Sie beginnen mit einem frischen Rails-app, ist das langsam?
- Frischen Rails-apps sind nicht mehr zu Bremsen. Ich bin mit action-mailer und fu-fu Schimpfwortfilter. Seite Anfragen nehmen knapp 10 Sekunden. Server-Start ist nicht langsam (über 10 Sekunden, was in Ordnung ist).
- die Frage hat nichts zu tun mit der Skalierung. Er spricht über die Entwicklung Modus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hmmm. 25 Sekunden, um zu instanziieren 1 million Objekte im Entwicklung-Modus auf einem macbook pro mit 12 anderen Programme geladen. Scheint OK für mich.
Den rails-dev-boost-plugin beschleunigt die Rails-Modus. Ich hatte das gleiche problem, und dieses plugin aus meiner Anwendung sehr flott (im Vergleich zu einigen Sekunden Belastung pro Seite). Es läuft mit gleicher Geschwindigkeit wie die Produktion!
http://github.com/thedarkone/rails-dev-boost
Installieren:
Redest du:
Langsamkeit Start der app (wie running script/server)?
Wenn es die server-Start, dann auf welchen server benutzt du? Aus meiner Erfahrung webrick ist langsamer als Mischling ist langsamer als dünne. Passagier ist wirklich die effizienteste für die lokale Entwicklung (obwohl ich habe nie versucht es läuft auf windows).
Langsam Seite Antworten durch den Aufprall auf den dev server?
Könnte dies eine ineffiziente Datenbankabfragen zu viel Berechnung in der Ansicht, dass könnte überarbeitet werden, etc.. Wenn es läuft ok, in der Produktion das ist wahrscheinlich nicht dein Problem. Jedoch, die web-server ausgeführt wird einen Unterschied machen in Ihrer Geschwindigkeit auch lokal. Ich denke, die gleiche Reihenfolge für Inbetriebnahme gilt für die Ausführung als gut.
Rake-tasks dauert eine Ewigkeit um zu starten?
Ich habe dieses Problem auch. Wenn Sie ein großes Projekt mit vielen plugins (das bedeutet viele Initialisierung, die laufen muss), kann es eine Weile dauern, um Rampe bis die rails-Umgebung. Es gibt Dinge, die wird wahrscheinlich beschleunigen, aber es gibt keine silberne Kugel. Stellen Sie sicher, dass Sie nicht irgendwelche plugins installiert, die Sie nicht mehr verwenden, nehmen Sie einen sorgfältigen Blick auf Ihre Umwelt und Initialisierungen, um sicherzustellen, dass Sie in guter Form, etc.
Strich, der besagt "Rails ist langsam in der Entwicklung" nicht wirklich lokalisieren des Problems. Wenn Sie klären können, was zu langsam ist, dann kann man gezielt helfen, es zu beschleunigen. Ich gearbeitet habe viele ziemlich große Projekte, die gelitten haben performance-Probleme in der Entwicklung sowie Produktion. Ich hatte noch nie eine situation, die nicht verbessert werden kann, wenn Sie die richtige Aufmerksamkeit. Lokalisieren Sie das problem und Sie kann in der Regel diagnostizieren eine bessere Lösung, um die Dinge zu beschleunigen.
faster_require
http://github.com/rdp/faster_require
helfen könnte
Geschwindigkeiten mine bis deutlich auf windows
auch spork kann verwendet werden, mit jruby zu beschleunigen unit-tests
http://github.com/rdp/spork
Ich habe mit den gleichen Problemen. Meine app im dev-mode, wird immer langsamer und langsamer. Als Beispiel erstelle ich einen neuen controller mit einer neuen Aktion:
Im dev-Modus dauert dies zwischen 12-15 Sekunden (bei Beantragung über FF und IE). Ich bin mit mongrel (nicht geclustert). Ich bin auf ein macbook pro.
In prod-Modus dauert dies ~130ms.
Gibt es einen Weg, um herauszufinden, welche Dateien geladen werden pro Anfrage (basic profiling), so kann ich versuchen, herauszufinden, was Los ist und wo der Engpass ist.
FF Firebug-Net zeigt, dass die meisten der Zeit (11-14 Sekunden) ausgegeben werden, in den WAIT-Zustand.
Konsole zeigt:
.
Irgendwelche Ideen?
dscacheutil -flushcache
hat auch nicht geholfen.Kam ich in diesem post versucht zu verstehen, warum sah ich so viel Zeit zwischen den Anfragen im development-Modus.
Ich arbeite auf eine bescheidene Größe der Anwendung - 4000 LOC, 113 Klassen - und slumming es auf einem langsamen Rechner. Mehr als 9/10ths der Zeit zwischen den Anfragen passiert beim laden des model code.
Vorhersehbar, config.cache_classes = true Geschwindigkeiten Dinge deutlich.
Den beste Weg, um die Entwicklung schneller ist die Installation
gem
namensactive_reload
.Installieren Sie dieses
gem
Sie können geben Sie den Befehl,gem install active_reload
Und in Ihrem rails-Projekt gemfile hinzufügen
gem 'active_reload'
Dann, starten Sie Ihren server neu, und Sie werden finden, Entwicklungs-Modus viel schneller als früher.
Nehme ich Ihre Anfragen nehmen Sekunden? (Sonst würden Sie wahrscheinlich nicht bemerkt haben). Es wurde immer schnell für mich. Vor allem, da ich begann mit sinatra statt Schienen 😀
Oh, und ich vergaß zu erwähnen - ich habe zu laufen, Schienen lokal, aber derzeit nutze ich einen virtuellen centos-server mit VMWare. Beide waren schnell
Sollten Sie nicht verwenden, die cache in der Entwicklung (vor allem, wenn es immer noch langsam, wenn es zu benutzen).
Nachdem der server neu gestartet die ganze Zeit, die Sie verlangsamen werden noch mehr.
Sind Sie sicher, dass Ruby selbst ist langsam?
Nicht zum Beispiel einige DB-Zugriff-code, den Sie ausführen?
Ein einfaches "Hello World" demo gleich langsam?
Und wie langsam sind wir reden?
Ladezeiten von mehr als 10 Sekunden?
Einstellung config.cache_classes = true in der Entwicklung.rb wird immer beschleunigen, größere apps im dev-Modus. Ich mag diese Zeile in meiner dev-Umgebung:
Dann können Sie den server starten mit:
wenn Sie wollen, schneller Reaktionszeit und nicht daran, dass die Klassen nicht erneut auf jede Anfrage.
Wenn Sie mit den Versionen 3.0 oder 3.1 von Schienen, die Sie verwenden können active reload zu beschleunigen das laden der Seite mal condsiderably. Es wurde gerollt in Rails 3.2.