python - 每个 UWSGI 进程运行多个线程有什么好处?

标签 python multithreading deployment process uwsgi

如果我正在执行查询数据库之类的阻塞操作,那么优势是什么?这如何增加额外的有值(value)的容量?

最佳答案

Python 的原生多线程受 GIL 限制的影响。简单地说,一次只有一个 Python 线程在物理上被执行。一个异常(exception)是让其他 Python 线程接管的阻塞 IO 调用(例如 DB 查询),这可能会提高 IO 绑定(bind)操作的性能。

因此,只有当您的应用程序主要受 IO 限制时,才有可能获得真正的性能提升。然而,在这种情况下,你应该考虑让应用程序异步,uWSGI 也支持。

否则你应该让你的应用程序保持单线程并使用多进程 uWSGI 来扩展。

关于python - 每个 UWSGI 进程运行多个线程有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20058464/

相关文章:

python - 如何解决 Django 中的 UndefinedColumn 错误

python - Python 中非常简单的 Web 服务

python - Django CMS Aldryn 创建向导数据库错误

c# - 回调 UI 线程时尽量避免异常

android - 同一个数据库的多个 DatabaseHelper

deployment - 将 dll 的配置文件移动到调用 dll 的应用程序

macos - 执行macdeployqt时报错no file at "/usr/lib/<libs>"

python - AWS Lambda-API 网关 "message": "Internal server error" (502 Bad Gateway)

c - 通过类型限制多对多资源访问

mysql - 部署到 Azure 中以破折号命名的 MySql 数据库