【问题标题】:Why does Node.js session storage have such an impact on performance?为什么 Node.js 会话存储对性能有如此大的影响?
【发布时间】:2012-02-11 23:15:31
【问题描述】:

启用以下功能:

  app.use(express.session({
    store: sessionStore,
    secret: 'secret',
    key: 'express.sid'}));

在测试我的 Node.js 应用程序时,请求的吞吐量为 每秒 650 个请求。

当我不使用express.session时,请求的吞吐量是每秒2200个请求。

使用以下参数使用 apache bench 进行测试:
-k -c 256 -n 50000 http://localhost:3000/

我正在测试以下内容:

app.get('/', function(req, res)
{
  res.redirect('/login');  
});

问题:这是正常的性能下降,还是我应该考虑解决什么问题?

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    我会说,这是“正常的”。我自己没有任何基准可以与您的基准进行比较,但是由于您正在从加密创建会话 ID,以及在您的存储中查找(我希望是 memcache 或 redis 或一些键/值存储),所以下降看起来很自然。没有会话,你什么都不做,也不等待任何 IO..

    【讨论】:

    • 谢谢,我不知道幕后发生了什么。
    • 也许其他人有更多的洞察力。另外->您可能希望增加基准测试中的并发连接,以查看 node.js 如何处理大量并发连接。
    • 只是Windows 7真的很慢! stackoverflow.com/questions/9243221/… 顺便说一句,我现在在 Linux 中工作,同一个应用程序能够处理 3500 个请求/秒。我现在也在实施集群,一个快速工作台显示 18000 req / sec。我在使用 Socket.io 时遇到问题 :(!stackoverflow.com/questions/9245044/…
    猜你喜欢
    • 2019-06-24
    • 1970-01-01
    • 2021-08-09
    • 2014-07-02
    • 2015-01-10
    • 1970-01-01
    • 2012-05-11
    • 2011-09-10
    • 2020-07-23
    相关资源
    最近更新 更多