让Django变绿

Mri*_*lla 10 python django coroutine gevent greenlets

我有一个Django管理命令,可以产生数千个TCP/UDP请求.我已经使用Gevent加快了速度,因为我重新组织了我的代码以作为协程工作.套接字连接不再阻塞,但从我所读到的,Django的部分仍然不是绿色.(绿色,我的意思是使用greenlets.)

你能告诉我Django的哪些部分不是绿色的,我可以做些什么让它们变绿?我认为有些DB相关的部分仍然存在阻碍.是否有任何Django库/补丁可以帮助我实现绿色?

我不太关心请求/响应周期是否为绿色,因此Gunicorn会帮助我吗?

谢谢

Ste*_*ehl 10

gevent猴子修补程序将标准库修补为Greenlet友好.这应该是很多常见的Django调用.

from gevent import monkey; monkey.patch_all()
Run Code Online (Sandbox Code Playgroud)

就数据库而言,通常接口是阻塞的.如果你使用PostgreSQL,请查看psyco_gevent来修补psycopg2与gevent合作.