Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby server very slow outside localhost (teambox)

I just installed TeamBox on my Ubuntu 9.10 server. I have it up and running on port 3000 using the provided server script.

It's running extremely slow, up to 30 seconds per HTTP request when connecting from another computer.

I used links to load up TeamBox from the shell and it took no time at all.

I then setup an SSH tunnel and again it was working very fast.

I run about 30 vhosts through apache on this server, as well as SAMBA etc and do not have any problems.

How can I troubleshoot this problem?

like image 428
ncatnow Avatar asked Mar 13 '10 07:03

ncatnow


2 Answers

My redmine (ruby, webrick) is too very slow. Now I solved this problem: apt-get install mongrel
ruby /home/redmine/redmine/script/server mongrel -e production
done, and redmine work very good speed! by

like image 88
Tamás László Avatar answered Nov 15 '22 11:11

Tamás László


Are you using Passenger? I had the same problem a few weeks ago and resolved the issue by adding this to my vhost file.

 # 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
like image 2
Travis Avatar answered Nov 15 '22 10:11

Travis