繁体   English   中英

限制Python Bottle Web服务器的CPU使用率

[英]Limit CPU usage of a Python Bottle webserver

我正在使用Python + Bottle作为Web服务器。

当我将生产服务器用于其他许多网站时,例如,我不希望Python + Bottle占用70%的CPU。

如何限制Python Bottle Web服务器的CPU使用率?

我当时正在考虑使用resource.setrlimit ,但这是一个好方法吗?

例如,我们应使用哪种语法将resource.setrlimit设置为CPU的20%?

第1步

您应该问自己,资源优化是否真的必要。 如果您确定特定的应用程序消耗的资源过多,则请转到步骤2。

第2步

当您的应用程序占用过多资源时,您应该做的第一件事就是尝试找出其中的瓶颈,并查看是否可以对其进行优化。 Python有各种可以帮助您的工具(代码分析器,PyPy等)。如果在这方面您无能为力,请转到步骤3。

第三步

如果您绝对必须限制流程资源,请记住:

  • 操作系统具有非常复杂的调度机制,它们会尽最大努力确保每个正在运行的进程都能公平分配CPU时间。 即使在处理器过载的情况下,一切仍然可以正常运行(达到一定程度)。

  • 如果您故意限制其中一个进程的CPU时间,由于网络超时,它可能响应缓慢或根本不响应。

我对这个问题的回答是-如果您认为服务器可能饿死其他服务,则降低服务器的静态优先级,但是当处理器过载时,服务器可能会饿死。 我会选择使用nice实用程序,因为它不会乱码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM