【问题标题】:performance of ActiveRecord SessionStoreActiveRecord SessionStore 的性能
【发布时间】:2011-07-15 06:23:49
【问题描述】:

从 cookieStore 切换到 ActiveRecord SessionStore 的性能损失有多大?

默认情况下,Ruby on Rails 使用 CookieStore。但它的缺点是客户端需要启用其 cookie。

切换到 Active SessionStore 似乎可以解决这个问题。我正在考虑转行。

我读到使用 ActiveRecord SessionStore 的性能更差。但更糟糕的是什么?用户会注意到这一点,还是几毫秒的问题?有人看过比较这两个选项的基准测试结果吗?

是否有其他原因(不)切换到 ActiveRecord SessionStore?

【问题讨论】:

    标签: ruby-on-rails session activerecord session-cookies


    【解决方案1】:

    但 AR 会话存储也依赖于 cookie - 它将会话 ID 保存在那里。

    据我所知,没有办法让 Rails 会话在禁用 cookie 的情况下工作。

    【讨论】:

    • 是的,你是对的,这个问题不相关,因为我确实在寻找一种解决方案来启用没有 cookie 的会话。这不可能。我在我的应用程序中添加了一条通知,以便在禁用 cookie 时允许它们使用。谢谢!
    【解决方案2】:

    更糟糕的是它需要查询一个数据库,然后需要计算答案,而不是直接去客户端的cookie。

    但是真的有那么糟糕吗?您是对的,因为在大多数情况下,性能差异非常小。

    优点:

    亲和力- 如果您的 Web 应用程序曾经扩展到多个服务器,则将会话移动到数据库可以让您在没有 server affinity 的情况下运行服务器。

    安全 - 由于您只将会话 ID 存储在客户端,这减少了用户通过客户端操作任何数据的机会。

    缺点

    性能 - 您可以从客户端读取会话/cookie 数据,而不是查询数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 1970-01-01
      • 2019-05-03
      • 2014-09-09
      相关资源
      最近更新 更多