我在我的localhost(我的macbook)上运行的NodeJS服务器上发现了一个奇怪的行为。 最初我有wifi(Internet打开),然后我发送请求到我的服务器GET / jobHistory - >记录了对静态文件的所有请求(使用morgan JS),我发现每个静态文件大约需要300-400ms。
我关闭wifi(互联网关闭),我必须重新启动我的NodeJS服务器(否则它将是空闲的 - 不知道为什么)。我发送另一个GET / jobHistory - >现在,对静态文件的所有请求每个文件只需要大约5ms-10ms,比我观察到的要快得多。
如果您对此有任何疑问,请赐教,或告诉我如何进一步调查。 这似乎是我错过的关于NodeJS服务器的一些重要观点......
答案 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内提供。