![]() |
1
1
马上, uvicorn 是达芙妮唯一的替代品,它支持多种加工,可供生产使用。
这将用4个工人启动服务器。 由于daphne/uvicorn使用asyncio进行多任务处理,我想多线程是没有意义的。 |
![]() |
2
0
工人不是单线程的。它们中的每一个都会打开一个线程池来运行所有的数据库查询以及运行sync_to_async的任何内容。Daphne的重点是异步,使用Asyncio的主线程越多,它的速度就越快。您希望尽可能消除上下文切换,以便CPU缓存保持新鲜。另外,python的gil一次只让一个线程工作,这就是为什么多个线程的速度没有提高的原因。你可以有25个线程,运行速度可以达到1个线程: https://gist.github.com/agronick/692d9a7bc41b75449f8f5f7cad93a924 |