【发布时间】:2011-02-23 19:23:57
【问题描述】:
如何修复应用级别允许的并发会话数? 基本上,我想限制对该 url 的并发请求数量,以防止服务器拥塞。 我猜是一些中间件黑客?
谢谢。
【问题讨论】:
如何修复应用级别允许的并发会话数? 基本上,我想限制对该 url 的并发请求数量,以防止服务器拥塞。 我猜是一些中间件黑客?
谢谢。
【问题讨论】:
Django 默认将会话信息存储在数据库中。您可以使用中间件来检查该表中的行数(粗略地说)。请记住,django 不会自动从数据库中清除过期会话。
关于清除会话表:
【讨论】:
不要在 django 中执行此操作,而是在 Apache / nginx / 任何你在 Django 前面的网络服务器中执行此操作。他们有专门用于此类任务的特定模块。
Apache 可能的解决方案是:mod_limitipconn2 - http://dominia.org/djao/limitipconn2.html
【讨论】:
您不是在询问会话,而是在询问请求。您想要的称为节流。但是,在应用程序内部执行此操作会非常困难,因为 Apache 管理多个进程和线程,因此您需要一些外部进程来跟踪这些以启用限制。
基本上,这种事情最好在 Apache 内部完成,通过 mod_throttle 之类的东西。
【讨论】: