Сервер Ruby очень медленный вне localhost (teambox) - PullRequest
5 голосов
/ 13 марта 2010

Я только что установил TeamBox на свой сервер Ubuntu 9.10. У меня это работает и работает на порту 3000, используя предоставленный серверный скрипт.

Он работает очень медленно, до 30 секунд на HTTP-запрос при подключении с другого компьютера.

Я использовал ссылки для загрузки TeamBox из оболочки, и это совсем не заняло времени.

Затем я настроил туннель SSH, и снова он работал очень быстро.

Я запускаю около 30 vhosts через apache на этом сервере, а также SAMBA и т. Д., И у меня нет проблем.

Как я могу устранить эту проблему?

Ответы [ 3 ]

10 голосов
/ 08 апреля 2010

Мой redmine (ruby, webrick) слишком медленный. Теперь я решил эту проблему: apt-get install mongrel <br> ruby /home/redmine/redmine/script/server mongrel -e production сделано, и Redmine работа очень хорошая скорость! от

2 голосов
/ 13 марта 2010

Вы используете Пассажира? У меня была такая же проблема несколько недель назад, и я решил эту проблему, добавив ее в мой файл vhost.

 # 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
1 голос
/ 26 апреля 2010

хороший способ публикации приложений RoR - это использование Nginx в качестве обратного прокси-сервера HTTP (S), связанного с thin ruby ​​сервером (доступным как гем).

Вот хороший урок о Nginx с RubyOnRails , а здесь еще один о тонких .

Я тоже использую redmine, с Nginx и thin под контейнером OpenVZ, и он работает очень хорошо!

...