2014-12-26 3 views
2

У меня довольно небольшое приложение склянки, которые я бегу с помощью:Vagrant колба приложение перезагружать очень медленно

$ python wsgi.py 

При редактировании файлов, сервер перезагружается на каждый файл сохранения. Эта перезагрузка занимает до 10 секунд. Это система раздел из моей Virtual Box:

Base: 2048Mb, 
Memory: 
Processors: 4 
Acceleration: VT-x/AMD-V, Nested Paging, PAE/NX 

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

+0

Возможно, вы можете показать код. – atupal

+0

Все приложение содержит около 100 файлов ... так что будет сложно показать код. Даже когда я не изменяю файлы, требуется несколько секунд, чтобы сервер встал после $ python wsgi.py - что заставляет меня думать, что это не связанный с кодом, а некоторые проблемы с настройкой –

+1

Вы пытались запустить базовое приложение-приложение hello для исключения код? – dirn

ответ

1

Попробуйте изменить файловую систему для NFS. У меня была эта проблема, я переключился на NFS и был исправлен.

config.vm.synced_folder ".", "/vagrant", type: "nfs" 

ENABLING NFS SYNCED FOLDERS

2

Ваша проблема может быть virtualenv быть синхронизированы тоже.

Я наткнулся на ту же проблему, и проблема заключалась в том, что реализация синхронизации по умолчанию в VirtualBox очень медленная, когда приходится иметь дело со слишком большим количеством файлов в смонтированном каталоге. После расследования я обнаружил:

$ cd my-project 
$ tree | tail -n 1 
220 directories, 2390 files 

Это похоже на слишком много файлов для простого проекта фляжки, верно? Итак, как оказалось, я также помещал свой каталог virtualenv в свой каталог проектов, что означает, что все синхронизировано.

$ cd my-project/env 
203 directories, 2313 files 
$ cd my-project 
$ rm -Rf my-project/env 
$ tree | tail -n 1 
17 directories, 77 files 

Теперь он выглядит намного более управляемым и действительно намного быстрее. Конечно, нам все равно нужно хранить virtualenv где-то, но на самом деле имеет смысл создать его где-то внутри гостевой машины, а не монтироваться на хост - особенно если вы считаете, что хост и гость могут быть разными ОС так или иначе.

Надеюсь, это поможет.

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