配置 – 优化多个gunicorn实例的工作者数量

配置 – 优化多个gunicorn实例的工作者数量,第1张

概述我正在配置gunicorn(由supervisord监控并在nginx前端后面)并且对设置的最佳进程数有点困惑. 在documentation中,清楚地解释了: workers = multiprocessing.cpu_count() * 2 + 1 我的机器是四核,所以应该计算9名工人. 但是我想运行几个应用程序,每个应用程序都在监听不同的端口. 那么计数应该是(截断的): workers_p 我正在配置gunicorn(由supervisord监控并在Nginx前端后面)并且对设置的最佳进程数有点困惑.

在documentation中,清楚地解释了:

workers = multiprocessing.cpu_count() * 2 + 1

我的机器是四核,所以应该计算9名工人.

但是我想运行几个应用程序,每个应用程序都在监听不同的端口.

那么计数应该是(截断的):

workers_per_application = int(workers / NUM_APPliCATIONS)

或者每个人都应该拥有上述人数?

我认为这个问题实际上不仅适用于gunicorn,而且适用于所有类似的监听服务器……

解决方法 老实说,workers_per_application更多的是性能调整,以确保您的应用程序可以随时消耗100%的cpu.这并不意味着它会.您可以将所有应用程序配置为拥有9名工作人员……只要您记住,一个应用程序可能正在处理非常困难的事情,这会导致另一个应用程序在时间上出现滞后/无法响应的情况.整个“cpu_count()* 2 1”是一个建议,至多……你可以添加更多……或者你认为必要的更少.我不确定cpu_count()是否返回物理处理器的数量…或cpu核心的数量.四核超线程似乎是8个核心,可以转换为17个进程……或者它可能只计为1个…转换为3个进程.摆弄它&走着瞧吧.

如果您希望2个应用程序同样运行良好,而不会看到另一个应用程序引起的延迟,则可能需要为此设置硬编号.

总结

以上是内存溢出为你收集整理的配置 – 优化多个gunicorn实例工作者数量全部内容,希望文章能够帮你解决配置 – 优化多个gunicorn实例的工作者数量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1040201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存