Django 是使用进程还是线程来处理 View 中的用户请求?
如果 Django 使用线程,我就无法使用所有 CPU 核心(python 全局解释器锁),如果 Django 使用进程,我就无法放心共享内存。
我试图在谷歌中查找信息,但我设法找到的最多是 Did django use thread to handle requests?这似乎不是一个答案。
最佳答案
Django 作为 WSGI 应用程序运行。如何发生由 WSGI 服务器决定(例如 uWSGI、Gunicorn、mod_wsgi)。
Django 的请求处理程序是线程安全的。您可以将 WSGI 服务器配置为使用任意数量的进程(有时称为工作线程)和每个进程的线程。
正如您所提到的,进程使用更多内存,但线程会受到 GIL 的影响。一个好的配置应该在进程数和每个进程的线程数之间找到平衡。
关于django - Django在 View 中使用进程还是线程来处理用户请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40359077/