【问题标题】:way to fix number of concurrent sessions allowed at app level. django修复应用级别允许的并发会话数的方法。 django
【发布时间】:2011-02-23 19:23:57
【问题描述】:

如何修复应用级别允许的并发会话数? 基本上,我想限制对该 url 的并发请求数量,以防止服务器拥塞。 我猜是一些中间件黑客?

谢谢。

【问题讨论】:

    标签: python django session


    【解决方案1】:

    Django 默认将会话信息存储在数据库中。您可以使用中间件来检查该表中的行数(粗略地说)。请记住,django 不会自动从数据库中清除过期会话。

    关于清除会话表:

    【讨论】:

      【解决方案2】:

      不要在 django 中执行此操作,而是在 Apache / nginx / 任何你在 Django 前面的网络服务器中执行此操作。他们有专门用于此类任务的特定模块。

      Apache 可能的解决方案是:mod_limitipconn2 - http://dominia.org/djao/limitipconn2.html

      【讨论】:

        【解决方案3】:

        您不是在询问会话,而是在询问请求。您想要的称为节流。但是,在应用程序内部执行此操作会非常困难,因为 Apache 管理多个进程和线程,因此您需要一些外部进程来跟踪这些以启用限制。

        基本上,这种事情最好在 Apache 内部完成,通过 mod_throttle 之类的东西。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-10-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多