【问题标题】:How can I figure out the most efficient number of threads and processes for mod_wsgi?如何确定 mod_wsgi 的最有效线程和进程数?
【发布时间】:2016-05-22 17:31:17
【问题描述】:

我通常使用 AWS Elastic Beanstalk、Heroku 和 Microsoft Asure 来托管我的 Django 项目。我也经常使用 MySQL。但是,我很难确定 mod_wsgi 设置的有效线程数和进程数。提前感谢您提供的信息。

【问题讨论】:

    标签: django server thread-safety mod-wsgi multiple-processes


    【解决方案1】:

    如果您只将机器用于应用程序服务器,通常一个好的开始方法是使用机器中的双倍处理器内核,并逐渐增加观察 CPU 和 RAM 的使用情况,直到找到最佳数量。

    如果同一台机器上有更多的服务(memcached,甚至你的数据库),从更少的进程开始,通常是核心数 + 1。

    我认为最好的方法是观察资源消耗并逐渐增加进程/线程的数量......许多进程 = 高 CPU 等待时间。进程少=资源空闲(请求会排队等待)

    【讨论】:

    • 谢谢 Vitor Freitas,您知道有什么资源专门解释了如何在 AWS Elastic Beanstalk、Heroku 和 Microsoft Asure 中设置它们,...?
    • 使用双倍处理器内核的方法不适用于多线程进程。决定如何平衡进程与线程的因素取决于应用程序的具体情况以及它是否受 CPU 限制与 I/O 限制。这不一定很容易解决,需要进行监控。 AWS 使用的古老的 mod_wsgi 版本没有内置的监控功能。总之,没有简单的答案。
    • @Graham Simpleton,你回答问题的速度总是让我着迷。请告诉我是否有更好的云服务,或者是否有任何文档逐步教授如何使用 mod_wsgi 开发可扩展的网站。
    • 这不是一个答案,但您可以通过观看youtube.com/watch?v=SGleKfigMsk 查看我为制定最佳实践所做的一些最新研究的详细信息
    猜你喜欢
    • 1970-01-01
    • 2011-07-07
    • 2016-09-22
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多