首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随着时间的推移,使用session-file-store会增加CPU峰值

随着时间的推移,使用session-file-store会增加CPU峰值
EN

Stack Overflow用户
提问于 2020-08-05 01:27:08
回答 1查看 47关注 0票数 0

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

我追踪到了为我的网站提供服务的节点进程。Git显示1月12日至2月24日期间没有变化。在2月24日,我做了以下升级:

代码语言:javascript
复制
-    "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%

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

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

我设置会话文件存储的代码是

代码语言:javascript
复制
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吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-26 05:43:27

问题是我使用的是会话选项saveUninitialized。这导致了大量无用的会话文件,这些文件以某种方式每小时处理一次。

我通过将saveUninitialized设置为false解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63252118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档