什么时候 - 雷锁有益吗?

Joh*_*hir 17 python uwsgi

这篇长篇,详细而有趣的文章描述了以下历史和设计--thunder-lock:http://uwsgi-docs.readthedocs.org/en/latest/articles/SerializingAccept.html

但它无法帮我决定何时需要它!

什么时候是--thunder-lock有益的?

Gwy*_*idD 8

嗯......答案并不那么容易.但一般来说,当您使用多个线程的多个工作程序时,应该使用它.但...

有许多不同的操作系统,雷霆锁定高度依赖于他们的能力.至少有六种不同的雷电锁定机制,由uWSGI根据操作系统功能选择,其中一些优于其他机制.如果您使用的Linux具有强大的pthread支持,那么使用thunder-lock可以安全地使用99.999999%.

  • 您的回答很有帮助,但也暗示“没有人可以知道,除非他们对他们使用的所有软件的内部结构进行数小时的研究”......当然这不是大多数 uwsgi 用户做出决定的方式:) (2认同)
  • 当你试图让你的 uWSGI 配置完美时,有很多研究。但基本上你可以启用 Thunder-Lock 并在 uWSGI 日志中检查 uWSGI 正在使用什么。您甚至可以手动更改方法。 (2认同)

H S*_*ore 5

使用非常简单和小示例的一些性能比较可在此处获得

有趣的是,当您在没有“hello world”的雷霆锁定的情况下扩大进程数量时,响应时间似乎随着我产生的进程数量呈线性增长。据推测,检查进程是否空闲的事情是随着进程数量的增加而扩展的。

雷电锁定并没有受到那么严重的影响,尽管性能略有下降,尽管可能是因为操作系统必须管理那么多进程。