超级慢的构建时间 - EMFILE,打开的文件太多

Super slow build time - EMFILE, too many open files

我正在制作一个可能列出数千个项目的 Meteor 网络应用程序 - 每个项目可能有 1-5 张图片

我正在使用 OSX 10.11.4 和 Meteor 1.3.2.4

到目前为止,构建过程没有任何问题

今天,我将一个包含20K张图片的文件夹移动到public/目录中,项目构建时间大大增加 - 我查阅了一些建议并做了修复盘,但没有解决问题

我取消了构建过程,它在退出前显示错误文本“EMFILE,打开的文件太多”

删除图像文件夹后,构建时间又回到了之前的不到 3 秒

这正常吗?如果是,我如何在拥有 10Ks 图像的同时将其保持在最低限度

Meteor cmd 为每个文件创建一个校验和,因此它可以判断在向客户端提供服务时是否修改了某些内容,所以我认为这是打开文件的来源,因为它会扫描每个文件并创建校验和。

MAC 的打开文件限制下限约为 256 个最大值,这是您遇到的 EMFILE 错误。您可以使用 ulimit -n 检查当前限制,并且可以将其增加 运行 ulimit -n 512,其中 512 是新限制,根据 here

只需逐渐增加,看看您需要将其设置为多少或弹出 20k,看看会发生什么...

仍然需要一段时间才能加载,从 nginx 服务器或 s3 存储桶或类似服务器而不是 meteor 本身提供图像可能更好。如果你想扩大规模,这意味着你每次都需要部署一大堆图像,这可能会很慢,具体取决于大小