互联网停机时,NodeJS可以更快地处理静态文件

时间:2014-11-06 04:37:59

标签: node.js profiling static-files

我在我的localhost(我的macbook)上运行的NodeJS服务器上发现了一个奇怪的行为。 最初我有wifi(Internet打开),然后我发送请求到我的服务器GET / jobHistory - >记录了对静态文件的所有请求(使用morgan JS),我发现每个静态文件大约需要300-400ms。

我关闭wifi(互联网关闭),我必须重新启动我的NodeJS服务器(否则它将是空闲的 - 不知道为什么)。我发送另一个GET / jobHistory - >现在,对静态文件的所有请求每个文件只需要大约5ms-10ms,比我观察到的要快得多。

Screenshot

如果您对此有任何疑问,请赐教,或告诉我如何进一步调查。 这似乎是我错过的关于NodeJS服务器的一些重要观点......

1 个答案:

答案 0 :(得分:0)

我弄清楚问题是什么:

我提供静态文件的中间件 BELOW 是cookies,favicon,cookiesparser,logger,session的中间件。

// Route to public static files (js, css)
app.use(express.static(path.join(__dirname, '../public')));

所以表示花时间运行一些中间件功能(可能是查询DB /缓存以获取会话信息),然后再将该文件提供给我。

修复只是在其他中间件之前移动我的静态文件中间件 UP 。结果令人惊讶:每个静态文件在5-7ms内提供。