Zombie.js在VirtualBox共享文件夹中运行缓慢

时间:2014-04-27 05:16:15

标签: node.js npm virtualbox vagrant zombie.js

我正在尝试在Zombie项目中使用Node.js。该项目在VirtualBox VM上的共享文件夹中运行。当Zombie安装到共享文件夹而不是全局时,我注意到性能大幅下降。

假设我在zombie_test.js中有以下内容:

require("zombie");

如果我全局安装zombie,则require语句在不到一秒的时间内运行:

$ sudo npm install zombie -g
...
$ time node zombie_test.js

real    0m0.651s
user    0m0.464s
sys     0m0.116s

如果我在本地安装软件包,则需要6秒钟。

$ npm install zombie --no-bin-links
...
$ time node zombie_test.js

real    0m5.933s
user    0m0.992s
sys     0m1.424s

我尝试过的任何其他节点模块都不会发生这种速度下降。如果我将本地npm-install安装到VM上的非共享目录,也不会发生这种情况。

有人知道为什么僵尸发生这种减速,或者我是否可以采取措施来改善它?

1 个答案:

答案 0 :(得分:2)

Mitchell Hashimoto(流浪汉的开发者)汇总了一些test results that show the speeds of different virtual machine file systems。长话短说,原生(非共享文件夹)>>>>>> NFS>> Virtual Box共享文件夹。

因此切换到NFS是一个很好的改进。但是,最新版本的Vagrant增加了对Rsync Synced Folders的支持。使用它们与普通共享文件夹略有不同,但好处是在VM文件系统中访问速度非常快。它应该等同于" Native Virtual Box"在他的第一篇博文中报道了表现。