2010-03-05 12 views
5

Ich mache einige erste Tests für eine Rails-App, die unter Windows bereitgestellt wird, aber der Entwicklungsserver in einer VirtualBox ist schmerzhaft langsam. Ich habe noch nie so etwas in Linux gesehen (aber die Serverplattform muss Windows sein), sogar in einer identischen virtuellen Appliance.Schienen auf Windows: langsam?

Ist Rails unter Windows in Bezug auf Geschwindigkeit machbar?

Antwort

0

Ich finde auf der anderen Seite, es ist ziemlich stabil, und haben keine Art von Geschwindigkeitsproblemen.

Ich habe Rails mit Windows und Linux (immer noch mit Mac OSX) verwendet, und hatte genau die gleiche Art von Reaktionszeiten.

Ich bevorzuge es unter Linux zu verwenden, wegen des Terminals und aller Linux-Extras, aber ich bin ziemlich glücklich, es unter Windows zu benutzen.

Update:

es gedacht, wäre schön, zu vervollständigen sagen, habe ich verwendet Rails beide von einer Windows-Maschine, und von einer Linux-Maschine mit einem virtuellen Windows-Installation, und wie bereits erwähnt, ich hatte die gleiche Art von Antwortzeiten.

+0

hmmmm ... interessant –

+1

Es gibt viele andere Fenster Langsamkeit berichten. Nicht sicher, das ist eine Antwort, da es keine Repro gibt. – Doug

1

Ich begann RoR-Programmierung in Windows und ja, der Server ist wirklich langsam. Es war egal, ob Windows in einer vbox oder direkt als Betriebssystem ausgeführt wurde, der Server war langsam. Ich habe mehrere Dinge ausprobiert, um es schneller zu machen (ein CPU-Kern nur für Ruby, etc), aber nichts half wirklich, also ging ich zu Linux, da das Arbeiten viel schneller war. Sie können nicht mit einer guten Geschwindigkeit arbeiten, wenn Sie immer auf eine Serverantwort warten müssen.

2

Ich habe 18.6, 1.8.7 und 1.9.1 auf Windows, OS X und Linux versucht. Ich habe die Reaktionszeit mit Windows länger als mit OS X oder Linux (Webbrick und Mongrel) gefunden. Wenn ich Windows rein als Server benutze, scheint die Antwortzeit als OS X Linux, aber viel langsamer, wenn ich Ergebnisse mit einem Browser entwickle und rende, während ich denselben Computer benutze.

+0

Interessant. Ich bin mir nicht sicher, was ich noch alles machen soll. Vielen Dank! –

+0

Im Entwicklungsmodus ist die Reaktionszeit viel langsamer, da Rails bei jeder Anforderung alle Controller und Modelle neu lädt (falls sie geändert wurden). – Gdeglin

+0

@Gdeglin, langsamer ja, aber langsamer als auf MacOS oder Linux? Alle Entwicklungsumgebungen sollten ungefähr gleich sein. –

1

Ich habe seit drei Jahren Schienen in Windows entwickelt und die Leistung war in Ordnung. Mein Setup ist relativ leistungsfähig: Dual Core 3.0 GHz, 3 Gigs RAM und es übertrifft die neuen Macbook-Pros meines Kollegen um 20-30%. (Beim Ausführen von 1200 Integrationstests).

Das sagte, ich habe Ruby zufällig nach dem Verschieben auf 1.9 abgestürzt, so würde ich definitiv nicht empfehlen, jeden Produktionsserver mit MRI unter Windows laufen.

Sie sollten dringend in Erwägung ziehen, zu JRuby zu wechseln, wenn Sie Ihre Site unter Windows hosten möchten. Viele Produktionsschienenanwendungen laufen auf JRuby, und die Leistung ist großartig und variiert nicht sehr zwischen den Plattformen. Hier ist eine Liste von einigen Standorten JRuby ausgeführt wird: http://kenai.com/projects/jruby/pages/SuccessStories, und die Homepage ist: http://jruby.org/

Eine weitere Option für die lokale Entwicklung (die ich gelegentlich verwendet habe) ist Rails innerhalb einer CentOS VMWare-Instanz zu laufen. Obwohl ich die Erfahrung gemacht habe, dass die Performance in dieser Umgebung ungefähr gleich oder etwas langsamer war. Sie können einen Vorteil sehen, wenn Sie Rails in einem Multithread-Status ausführen (statt nur script/server zu starten).

Viel Glück!

+0

Danke ... die letzte Option ist nicht durchführbar, weil der Punkt der App 100% ist, um direkt auf Windows-Freigaben zuzugreifen, also würde eine VMWare den Zweck besiegen. –

+0

Ja, es klingt wie JRuby ist wirklich die beste Option für Sie, besonders wenn Sie nach Windows bereitstellen. Dadurch können Sie auch die Java-Datenbank-Connectors anstelle der Ruby-Connectors verwenden (von denen bekannt ist, dass sie unter Windows Probleme haben). Microsoft hat daran gearbeitet, eine eigene .NET-Implementierung von Ruby zu erhalten, um Rails für einige Zeit laufen zu lassen, also sollten Sie ihre Fortschritte im Auge behalten, aber es scheint, dass sie noch einen langen Weg vor sich haben . – Gdeglin

0

für eine Beschleunigung könnten Sie versuchen, meine Lader Speeder oberen (hilft Schienen laufen schneller in dösen): https://github.com/rdp/faster_require Auch Kasse spork, die funktioniert nicht in dösen, und jruby funktioniert auch gut.

0

Ich könnte der erste Mensch zu verstehen, warum Schienen & Rubin auf Windows langsam laufen, zumindest für Windows XP. :)

Wenn Sie auf Windows XP keinen Speicherplatz mehr haben, werden Sie gefragt, ob Sie Speicherplatz freigeben können, indem Sie temporäre Dateien löschen und einige Dateien komprimieren. Wenn Sie dies zulassen, werden viele Dateien komprimiert. Dies bedeutet, dass von diesem Moment an viele Dateien unkomprimiert und rekomprimiert werden, während Sie auf sie zugreifen, wodurch hd-Speicherplatz gespart wird, aber CPU-Zeit verbraucht wird.

Also habe ich vor kurzem versucht, den Computer eines Freundes zu beschleunigen, der in Langsamkeit verurteilt schien, egal was Sie versuchten, also war mein letzter Gedanke ... vielleicht XP komprimiert zu vielen Dateien und jetzt ist beschäftigt, 0.komprimieren sie alle Zeit ... also suchte ich nach einem Befehl, um eine ganze ntfs Partition zu dekomprimieren, und ich fand es:

compact/u/s/ich (Sie müssen es von Root-Verzeichnis des Laufwerks ausführen, dh "C: \ ")

Danach dachte ich, es wäre eine gute Idee gewesen, denselben Befehl auf meinem PC auszuführen.

Keine Notwendigkeit zu sagen, bevor, Schienen -V dauerte 15 Sekunden, um zu zeigen. Also nach dem Dekomprimieren aller Dateien (es entpackt so etwas wie 54000 Dateien) dachte ich, dass ein guter Kandidat zu sehen, ob es einen Unterschied gab, war Schienen zu starten, und mit meiner großen Überraschung Rails -v dauerte wie 2 Sekunden, wie es passierte lange vorher sein!

Ich weiß nicht, ob das für Sie funktioniert. Aber für mich hat es die rubinische Reaktionsfähigkeit und Geschwindigkeit auf das zurückgesetzt, was ich vorher gewohnt war, langsamer als * nix, aber viel schneller als das, was ich in letzter Zeit erreicht hatte, ohne ersichtlichen Grund!

Hoffe, dass jemand davon profitiert!

nur meine 0,75 Cent;)