【问题标题】:session and performance会话和性能
【发布时间】:2011-07-07 22:45:15
【问题描述】:

问:

我的团队负责人告诉我将会话时间增加到一小时,让用户有机会处理他们的数据,当我告诉他性能时,这将是网络服务器的负载,他回复我 Facebook 或 hotmail 怎么样,或者......等等这些网站不会退出,除非你自己退出......然后他认为这些网站给了会话无限的时间。

我不知道我们有很多用户会同时使用该网站,最好的解决方案是什么?

如果我能做到这一点,如何增加会话时间。

【问题讨论】:

    标签: c# .net asp.net performance session


    【解决方案1】:

    取决于您的网站是如何构建的,我更喜欢 ajax 或某种自动重新加载功能。 Facebook 和类似的网站不会将会话超时时间限制为 3 小时。他们检查客户是否仍然存在。如果没有答案,他们会立即断开连接。

    您的网站因提高会话限制而遭受的损失有多大,这完全取决于并发用户的数量以及您在每个会话中输入的信息量(当然还有可用的服务器资源)。

    【讨论】:

    • 可能 ajax 是您最近的解决方案。提高会话超时通常是另一个问题的结果。为什么用户应该不像 20 分钟而 40 分钟是好的?如果他们在后台闲置页面 20 分钟,则行为是他们很可能会这样做几个小时。
    【解决方案2】:

    系统负载与会话持续时间有什么关系?答:没什么。

    您可能在数据库的会话表中有更多的条目否则会过期(但前提是您有一种机制可以从数据库中删除过期的会话条目),但那又如何? DB 不在乎。

    另外,还有哪些其他答案不问?,是自 LOGIN 以来的会话持续时间还是自 LAST ACTION 以来的时间?

    【讨论】:

      【解决方案3】:

      增加 session ,不会影响性能,但可能会为您的应用创建安全漏洞。假设您已将其延长至 3 小时,并且一些懒惰的用户没有注销,只需关闭页面即可。如果下一个用户来并点击相同的 url,那么他将登陆之前的那些海湾。

      一个常见的例子,举个例子,你去一家咖啡馆,那里的人正在 orkutting 中,通过邮件等。在你访问 orkut 之前说那个人,并且没有正确的登录,他只是关闭了页面。现在你做了什么,你想访问你的帐户。你访问 www.orkut.com,你会遇到的是,早期的人的个人资料。

      但请注意,Google 现在甚至在搜索中也使用 HTTPS,所以这些东西可能不起作用。早些时候他们发生了很多,即使是在我身上...... :-).. https://encrypted.google.com/

      注意:- 在 Session 中加载大量数据,会降低性能......而且 Session 也是一个大恶魔,所以要小心处理。

      【讨论】:

        【解决方案4】:
        • 为会话启用滑动过期而不是更改会话超时。
        • 尽量减少会话数据。尽可能使用缓存/Cookie 等其他选项
        • 将会话数据存储在 SQL Server 中以实现负载平衡场景

        【讨论】:

          【解决方案5】:

          如何设置会话超时: How to set session timeout in web.config

          除了那个会话超时几乎与并发无关。

          【讨论】:

            猜你喜欢
            • 2012-01-14
            • 2011-04-17
            • 2011-11-19
            • 1970-01-01
            • 2014-02-26
            • 2011-09-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多