【问题标题】:When using paster web server, does it service requests by creating a new thread?使用 paste 网络服务器时,它是否通过创建新线程来服务请求?
【发布时间】:2023-03-10 02:06:01
【问题描述】:

paste 是否为每个请求创建一个新线程?

你能设置 paster 使用的最大线程数,即线程池吗?如果这是可能的,你怎么能?

【问题讨论】:

    标签: python paster


    【解决方案1】:

    根据the docspaster 支持不同的服务器选择,具体取决于配置 - 包括 wsgiutils,“开始支持 twisted.web2 ... 欢迎补丁”(这将是一个异步服务器 instad ) 和“SCGI、FastCGI 和 AJP 协议,用于将外部 Web 服务器(如 Apache)连接到您的应用程序。线程和分叉版本都可用。这是基于 Flup 的。”

    例如,您可以在 Apache 上配置最大线程数(和/或分叉进程),并且完全独立于 paster,通过专门处理 Apache 配置;如果您选择了flup/Apache/threaded 组合,显然这就是您想要做的。

    在(大致)简单性/功能范围的另一个极端,我不相信开箱即用的 wsgiutils 可以配置为使用线程池(即,如果我没记错的话,编码一个新的服务器类型围绕wsgiutil 提供的最小骨架需要使用线程池)。

    显然,如果您需要任何类型的高级配置选项,Apache 的强大功能和灵活性是无与伦比的:-)。

    【讨论】:

    • 我想使用 haproxy 来粘贴多个粘贴实例(每个都在一个单独的端口上),这就是大佬们似乎是这样做的,就像 reddit 一样。
    • @Blankman,我想“大人物”完全能够编写一些代码来自定义 paste ,或者(可以在不添加代码的情况下开箱即用地配置)在 Apache 上运行 paste (或 nginx 或 ...)。我敢肯定,没有“大人物”(或 sensible 较小的人)将 wsgiutils 的未修改代码作为 paste 的底层服务器运行——这对于开发或 tiny 来说都是很好的- 流量站点,但是(尤其是在配置可能性方面如此严格)不会扩大规模。你一直在说“糊涂”,完全忽略了“什么底层网络服务器”这个更重要的问题......!
    • paster 响应 http 请求,所以它是服务器!他们使用 HAProxy 将请求发送到 paste 的各种实例(当然在单独的端口上运行)。请参阅 pdf 中的第 10 页:us.pycon.org/2010/conference/schedule/event/135
    猜你喜欢
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 2013-07-19
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多