大约在2月19日,我的服务器开始呈现每小时不断增加的CPU峰值:


我追踪到了为我的网站提供服务的节点进程。Git显示1月12日至2月24日期间没有变化。在2月24日,我做了以下升级:
- "mongoose": "^4.11.6",
+ "mongoose": "^5.9.2",
- "passport-local-mongoose": "^4.1.0",
+ "passport-local-mongoose": "^6.0.1",
- "jwt-simple": "^0.5.1",
+ "jwt-simple": "^0.5.6",
- "orm": "^5.0.2",
+ "orm": "^5.0.5",到了7月份,我的CPU的所有时间都花在了100%

一些分析显示,会话文件存储要么是负责的,要么是被负责的代码调用的:

下面是调用树,它可能是信息性的,尽管我并不真正理解它

我设置会话文件存储的代码是
const next = require("next")
const express = require("express")
const passport = require("passport")
const session = require("express-session")
const FileStore = require("session-file-store")(session)
const app = next({
dir: ".",
dev: config.dev
})
app
.prepare()
.then(() => {
server = express()
server.use(cookieParser())
server.use(
session({
secret: process.env.SESSION_SECRET,
store: new FileStore({
path: "/tmp/sessions",
secret: process.env.SESSION_SECRET
}),
resave: false,
rolling: true,
saveUninitialized: true,
httpOnly: true,
cookie: {
maxAge: 60000 * 60 * 24 * 7 * 4 // 4 weeks
}
})
)
server.use(passport.initialize())
server.use(passport.session())
passportConfig(passport)我的配置中有没有什么东西可以解释为什么会话文件存储会有一个每小时的任务,而且数据量一直在增加?这是一个passport-local-mongoose bug吗?
发布于 2020-08-26 05:43:27
问题是我使用的是会话选项saveUninitialized。这导致了大量无用的会话文件,这些文件以某种方式每小时处理一次。
我通过将saveUninitialized设置为false解决了这个问题。
https://stackoverflow.com/questions/63252118
复制相似问题