我有一个django网站,演示了一种工具的使用。我的一个视图接受文件作为输入,并通过外部python脚本运行一些相当重的计算,并将一些输出返回给用户。该工具足够快,可以在同一请求中返回输出。但是,我希望限制对此URL /视图的并发请求数量,以防止服务器过载。
您有什么建议可以做到这一点吗?页面本身非常简单,使用率很低。
您有什么建议可以做到这一点吗?页面本身非常简单,使用率很低。
假设您正在使用mod_wsgi,您可以将WSGI应用程序分段到多个mod_wsgi守护进程组中,将要限制的特定URL委派给自己的mod_wsgi守护进程组,并具有较少的进程/线程。
WSGIDaemonProcess myapp processes=2 threads=10
WSGIDaemonProcess myapp-restricted threads=2
WSGIScriptAlias / /some/path/app.wsgi
WSGIProcessGroup myapp
<Location /some/specific/url>
WSGIProcessGroup myapp-restricted
</Location>
这实际上是关于 mod_wsgi 的问题,假设您正在使用它从 Apache 提供应用程序(如果您没有,确实应该这样做)。
mod_wsgi 的创建者 Graham Dumpleton 有时会在这些地方逗留,但在等待他出现时,您可以查看 卓越的文档。看起来 WSGIDaemonProcess 指令的其中一个参数可能是您要寻找的内容