Node.js性能 - 一次或每次请求读取文件

时间:2014-08-24 02:20:47

标签: javascript node.js file-io

我使用Node.js和Express服务页面。该页面的部分数据与文件目录有关。

首先只读取一个目录,这意味着必须重新启动服务器才能更新目录。

var files;
fs.readdir(path, function (err,data)
{
   files = data;
});
app.get('/', function (req,res)
{
   res.render('index', {files: files});
});

第二个目录在每个请求上读取,这可能会影响性能。

app.get('/icons', function (req,res)
{
    fs.readdir(path, function (err,files)
    {
        res.render('index', {files: files});
    });
});

这两个选项之间是否存在显着的性能差异?

1 个答案:

答案 0 :(得分:2)

第一种方法将磁盘IO换成内存使用;第二种方法用于交换磁盘IO的内存使用情况。

由于内存比磁盘快,第一种方法更快(除非内存不足)。

另一方面,第二种方法将获取服务器启动后所做的更改。