Python 是否推荐使用django的twistedweb
我有一个Django应用程序,需要在WSGI容器中部署。我可以选择TwistedWeb之类的事件驱动应用服务器,也可以选择uWSGI之类的流程驱动服务器。我完全理解事件驱动服务器和进程驱动服务器之间的区别,我知道Django框架本质上是阻塞的 我遇到了TwistedWeb,它允许我们以简单的方式运行WSGI应用程序 我的问题如下: 1) 我会通过运行Twisted而不是uWSGI获得什么,因为Django本质上是阻塞的。TwistedWeb与标准twisted库不同吗?我知道,当人们需要对异步、ex-chat和正常功能的支持时,他们会使用Django运行Twisted,但他们仍然希望只有一个应用程序。我没有这样的用例,对我来说,它只是一个网站 2) TwistedWeb上的性能会更差吗?因为它只是一个进程,我的请求会被阻止,因为Django本质上是同步的?或者TwistedWeb运行类似于uWSGI的东西,它先启动多个进程,然后以循环方式在这些进程之间分发请求?如果是,那么TwistedWeb是否比uWSGI更好Python 是否推荐使用django的twistedweb,python,django,twisted,event-driven,twisted.web,Python,Django,Twisted,Event Driven,Twisted.web,我有一个Django应用程序,需要在WSGI容器中部署。我可以选择TwistedWeb之类的事件驱动应用服务器,也可以选择uWSGI之类的流程驱动服务器。我完全理解事件驱动服务器和进程驱动服务器之间的区别,我知道Django框架本质上是阻塞的 我遇到了TwistedWeb,它允许我们以简单的方式运行WSGI应用程序 我的问题如下: 1) 我会通过运行Twisted而不是uWSGI获得什么,因为Django本质上是阻塞的。TwistedWeb与标准twisted库不同吗?我知道,当人们需要对异步、
3) 除了WSGI之外,还有其他协议可以将Twisted与Django集成在一起,并且仍然提供异步行为(在这里试试我的运气:)您可以将这些作为一个单独的问题来问;每当你觉得有必要列举一个清单时,你都应该这样做。但这里有:
nginx
at的东西稍慢一些,例如,直接为静态内容提供服务,但通过在PyPy下运行Twisted服务器,您可以将这种差异降至最低。不过,您似乎在问并发性问题,比如“Twisted的WSGI容器一次只运行一个Django请求吗?”,答案是“否”。Twisted的WSGI容器是多线程的,将按照预期运行Django代码不,除非您大量修改django db适配器和一些核心组件,否则您将不会获得任何优势。有一些工具可以简化这项工作,但您将处于最前沿,尝试将从一开始就使用阻塞范式构建的东西调整为完全不同的东西 另一方面,性能不应该最差,因为99.9%的时间你的应用本身是瓶颈,而不是你的WSGI基础设施 关于async django,很多人在gevent上都很幸运,但是你需要仔细分析你的应用程序,以确保所有组件都是gevent友好的(这不是一项容易的任务,特别是对于db适配器) 记住,即使你的应用程序99.9999999%无阻塞,你仍然在阻塞