2013-12-08 3 views
2

У меня есть проект (Rails 4.0.2), который я сейчас запускаю внутри Vagrant (1.3.5), на котором работает VirtualBox (4.3.4). Гостевой ОС - Debian 6.0. Когда я запускаю приложение на ОС хоста, или я запускаю Virtualbox вручную, я вижу резкое улучшение в реагировании. Как только я использую «бродягу», производительность кажется очень бедной. Вот соответствующие Apache Bench результаты:Vagrant замедление HTTP-запросов на сервер rails

Apache Bench Command

ab -n 10 -c 1 http://127.0.0.1:3000/application.js 

Хост OS

   min mean[+/-sd] median max 
Connect:  0 0 0.0  0  0 
Processing: 27 44 28.3  33  118 
Waiting:  25 41 28.6  31  116 
Total:   27 44 28.3  33  118 

Virtualbox

   min mean[+/-sd] median max 
Connect:  0 0 0.4  0  1 
Processing: 57 71 19.1  67  119 
Waiting:  46 59 19.3  57  110 
Total:   57 71 19.1  68  119 

Vagrant

   min mean[+/-sd] median max 
Connect:  0 0 0.0  0  0 
Processing: 849 916 76.2 901 1115 
Waiting:  831 892 72.6 883 1081 
Total:  849 916 76.2 901 1115 

Я бы ожидать замедления при запуске приложения в VirtualBox, но не на порядок. Я тоже ничего не делает фантазии с моим Vagrantfile:

Vagrantfile

VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    config.vm.box = "squeeze" 
    config.vm.network :forwarded_port, guest: 3000, host: 3000 
end 

Я пытался исправления, указанные в this github issue и this HackerNews comment, но безрезультатно.

ответ

2

Убедитесь, что вы не размещаете проект в синхронизированной папке (по умолчанию он использует vboxsf, который имеет проблемы с производительностью с большим количеством файлов/каталогов).

Это также может быть связан с «WEBrick обратного поиска DNS», посмотрите на https://stackoverflow.com/a/19284483/1801697

Надеются, что это помогает.

+1

Синхронизированные папки были моей проблемой. Я изменил его, чтобы использовать NFS, и это значительно быстрее. Вот документация для него http://docs-v1.vagrantup.com/v1/docs/nfs.html –

+0

Конфигурационный файл Webbrick был моей проблемой. Я также обнаружил, что Vagrant rsync в 10 раз быстрее, чем vboxfs или NFS. – Chloe

Смежные вопросы