为什么Django在使用Vagrant创建的VirtualBox VM上这么慢?

时间:2013-08-01 22:43:30

标签: django virtualbox vagrant

运行使用Vagrant创建的无头实例。从Web浏览器看,Django似乎没问题,但是更改文件后runserver重新加载会延迟几秒钟,实际上所有管理命令都显得迟钝。

4 个答案:

答案 0 :(得分:3)

当存在大量文件/目录时,Vagrant同步文件默认使用的VirtualBox vboxsf存在性能问题。考虑使用sshfs或NFS。

答案 1 :(得分:2)

显然,这可能是由项目目录中的大量文件引起的 - 主机和来宾之间共享的某种问题。在这种情况下,我在与项目相同的目录中运行Python虚拟环境,它包含大约10K文件。将虚拟环境移动到VM上的其他位置可以大大提高性能。

答案 2 :(得分:2)

Vagrant 2.0允许您设置NFS挂载。来自文档:

Vagrant.configure("2") do |config|
  # ...

  config.vm.synced_folder ".", "/vagrant", nfs: true
end

答案 3 :(得分:1)

我也遇到了这个问题。感谢@Shoan,它帮助我解决了问题。但是,Shoan的设置在游民游记中显示以下错误。

  

NFS需要创建仅主机网络。   请将仅主机网络添加到计算机(使用DHCP或   静态IP),以使NFS正常工作。

但是我也找到了解决上述问题的方法。参见我的设置,如下所示。

Vagrant.configure(2) do |config|

config.vm.network "private_network", type: "dhcp"
config.vm.synced_folder ".", "/vagrant", nfs: true

end

希望这会有所帮助。