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

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

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

require("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安装到虚拟机上的非共享目录。

有人知道为什么这个僵尸减速,或者如果我可以做一些改进呢?

Mitchell Hashimoto(stream浪者的开发者)汇集了一些显示不同虚拟机文件系统速度的testing结果 。 长话短说,原生(非共享文件夹)>>>>>> NFS >> Virtual Box共享文件夹。

所以切换到NFS是一个很好的改进。 但是,最新版本的Vagrant增加了对Rsync同步文件夹的支持。 使用它们与普通的共享文件夹有些不同,但是在虚拟机文件系统访问中速度非常快。 它应该等同于他的第一篇博文中报道的“本机虚拟盒子”性能。