2010-03-13 5 views
5

Ich habe gerade TeamBox auf meinem Ubuntu 9.10 Server installiert. Ich habe es auf Port 3000 mit dem bereitgestellten Server-Skript ausgeführt.Ruby Server sehr langsam außerhalb localhost (Teambox)

Es läuft sehr langsam, bis zu 30 Sekunden pro HTTP-Anfrage, wenn Sie von einem anderen Computer verbinden.

Ich benutzte Links, um TeamBox aus der Shell zu laden und es dauerte keine Zeit.

Ich habe dann einen SSH-Tunnel eingerichtet und wieder hat es sehr schnell funktioniert.

Ich laufe ungefähr 30 vhosts durch Apache auf diesem Server, sowie SAMBA usw. und habe keine Probleme.

Wie kann ich dieses Problem beheben?

+0

Haben Sie das jemals gelöst? Ich bin gerade auf ein sehr ähnliches Problem gestoßen: Ubuntu 10.04, rails 3.0.1, bei der Arbeit von localhost alles schnell. Wenn Sie einen anderen Server im Netzwerk verwenden, dauert das Laden von Seiten 30 Sekunden. Dies passiert sogar mit einer völlig neuen/sauberen Rails-App, daher vermute ich stark, dass es sich um ein Bibliotheks-/Netzwerk-/Konfigurationsproblem handelt. –

+0

Nach weiterer Untersuchung kann ich den Server gut von anderen Computern und anderen Webservern (z. B. Grails) ping gut funktionieren. Es ist also wahrscheinlich kein system- oder netzwerkweites Problem, sondern nur ein Schienenproblem. –

Antwort

10

Mein Redmine (Rubin, Webrick) ist zu sehr langsam. Nun habe ich dieses Problem gelöst: apt-get install mongrel
ruby /home/redmine/redmine/script/server mongrel -e production
getan, und redmine Arbeit sehr gute Geschwindigkeit! von

+0

wollte nur zur Kenntnis nehmen, dass diese Lösung perfekt funktioniert. Installieren Sie mongrel, und führen Sie "rails server mongrel" aus und jetzt werden Anfragen an localhost und von anderen Maschinen gleich schnell ausgeführt. Ich bin mir nicht sicher, was das Problem ist, aber ich denke, WEBrick hat Probleme mit Ubuntu. –

2

Verwenden Sie Passagier? Ich hatte vor ein paar Wochen das selbe Problem und löste das Problem, indem ich dieses zu meiner vhost-Datei hinzufügte.

# Speeds up spawn time tremendously -- if your app is compatible. 
    # RMagick seems to be incompatible with smart spawning 
    RailsSpawnMethod smart 

    # Just in case you're leaking memory, restart a listener 
    # after processing 5000 requests 
    PassengerMaxRequests 5000 

    # only check for restart.txt et al up to once every 5 seconds, 
    # instead of once per processed request 
    PassengerStatThrottleRate 5 

    # Keep the spawners alive, which speeds up spawning a new Application 
    # listener after a period of inactivity at the expense of memory. 
    RailsAppSpawnerIdleTime 0 

    # Additionally keep a copy of the Rails framework in memory. If you're 
    # using multiple apps on the same version of Rails, this will speed up 
    # the creation of new RailsAppSpawners. This isn't necessary if you're 
    # only running one or 2 applications, or if your applications use 
    # different versions of Rails. 
    RailsFrameworkSpawnerIdleTime 0 

    # Keep the application instances alive longer. Default is 300 (seconds) 
    PassengerPoolIdleTime 1000 
+0

Kein Passagier. Ich verwende Teambox nicht über Apache, sondern über den mitgelieferten Python-Server. Ich bin verwirrt, warum es einen so großen Geschwindigkeitsunterschied zwischen dem Zugriff durch localhost und dem Zugriff über das LAN geben würde. Die Verzögerung tritt bei jeder HTTP-Anfrage an den Server auf. Es scheint eher ein Netzwerkproblem zu sein. Sobald der Python-Server die Anfrage erhält, wird sie sehr schnell verarbeitet. Was könnte das verursachen? – ncatnow

+0

@natcow: DNS-Lookup, wenn keine IP verwendet wird, ist die am häufigsten verwendete –