【发布时间】:2014-06-12 17:39:36
【问题描述】:
我正在尝试在我的 Node.js 项目中使用 Zombie。该项目在 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 上的非共享目录,也不会发生这种情况。
有人知道为什么僵尸会出现这种减速,或者我是否可以做些什么来改善它?
【问题讨论】:
-
您是否尝试过使用 NFS 导出共享并将其挂载到客户机中?您的问题并不清楚,但如果您使用 Vagrant 创建 VM,这样做真的很容易(docs.vagrantup.com/v2/synced-folders/nfs.html)。如果你不使用 Vagrant,你真的应该!
-
我之前没有听说过 NFS,但我试了一下。我正在使用 Vagrant,所以设置起来非常容易。 NFS 的性能要好得多......大约 2.6 秒而不是 5.9 秒。感谢您的建议!
标签: node.js npm virtualbox vagrant zombie.js