如果我使用具有 Eventlet 工作类型的 Gunicorn 部署 Django,并且只使用一个进程,那么在为 1000 个(默认)工作连接提供服务时会发生什么? Django 的哪些部分被复制到每个线程中?是否有任何部分被复制?
最佳答案
如果您在gunicorn配置中设置workers = 1
,则会创建两个进程:1个主进程和1个工作进程。
当您使用worker_class = eventlet
时,同时连接由绿色线程处理。绿色线程与真实线程不同。简单来说,绿色线程是每当函数遇到 I/O 操作时yield
的函数(协程)。
所以没有复制任何内容。您只需要担心使每个 I/O 操作变得“绿色”。
关于python - Eventlet+Gunicorn 工作线程包含哪些内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279467/