每个UWSGI进程运行多个线程的优势是什么?

时间:2013-11-18 21:38:29

标签: python multithreading deployment process uwsgi

如果我正在执行查询数据库等阻塞操作,那么有什么优势呢?这如何增加额外的有用容量?

1 个答案:

答案 0 :(得分:6)

Python的本机多线程受GIL限制的影响。简单地说,一次只有一个Python线程是物理执行的。这种情况的一个例外是阻止IO调用(例如数据库查询),让其他Python线程接管,这可能会提高IO绑定操作的性能。

因此,只有当您的应用程序主要受IO限制时,才能实现真正的性能提升。但是,在这种情况下,您应该考虑使应用程序异步,uWSGI也支持。

否则,您应该保持应用程序的单线程并使用多进程uWSGI进行扩展。