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

标签 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

我尝试过的任何其他 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/

相关文章:

node.js - 如何在sails.js 中配置https

javascript - 如何使用 nodeJs 创建 Web 服务器

node.js - Nodejs : disconnected client from the server by socketio

node.js - npm 和 package.json 中的所有者存储库出现问题 _ npm ERR! 400 错误请求(npm 发布)

scala - 如何调试akka关联进程?

ubuntu - Genymotion黑屏

javascript - GET 请求适用于浏览器的 REST 客户端,但不适用于 JS

react-native - 使用 npm install -g expo-cli 安装 react native expo 的问题

javascript - SystemJS 未找到 RxJS 根目录

linux - 等待机器启动时的 Vagrant box 超时值