我正在尝试使用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
我尝试过的任何其他 Node 模块都不会出现这种速度下降的情况。如果我将 npm-install 本地到虚拟机上的非共享目录,也不会发生这种情况。
有谁知道为什么 zombie 会出现这种减速,或者我是否可以做一些事情来改善它?
最佳答案
Mitchell Hashimoto(vagrant 的开发者)整理了一些 test results that show the speeds of different virtual machine file systems 。长话短说, native (非共享文件夹)>>>>>> NFS >> Virtual Box 共享文件夹。
所以切换到 NFS 是一个很好的改进。然而,最新版本的 Vagrant 添加了对 Rsync Synced Folders 的支持。使用它们与普通共享文件夹略有不同,但好处是在虚拟机文件系统中访问速度非常快。应该相当于他第一篇博文中报道的“Native Virtual Box”性能。
关于node.js - Zombie.js 在 VirtualBox 共享文件夹中运行缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23319680/