Gunicorn 不会同时处理同时发生的请求

2024-01-01

我正在尝试使用 Gunicorn 及其异步工作人员来服务长时间运行的请求,但我找不到任何可以开始工作的示例。我用了这个例子here http://gunicorn.org/但在返回响应之前进行了调整,添加了一个假延迟(休眠 5 秒):

def app(environ, start_response):
    data = "Hello, World!\n"
    start_response("200 OK", [
        ("Content-Type", "text/plain"),
        ("Content-Length", str(len(data)))
    ])
    time.sleep(5)
    return iter([data])

然后我运行gunicorn:

gunicorn -w 4 myapp:app -k gevent

当我打开两个浏览器选项卡并输入http://127.0.0.1:8000/在两者中并几乎同时发送请求,请求似乎已得到处理依次地- 一个在 5 秒后返回,另一个在 1 秒后返回further5秒。

问:我猜 sleep 对 gevent 不友好?但是有 4 个工作人员,因此即使工作人员的类型是“同步”,两个工作人员也应该同时处理两个请求吗?


我刚刚遇到了同样的事情,在这里提出一个问题:请求未分配给gunicorn工作人员 https://stackoverflow.com/questions/23038678/requests-not-being-distributed-across-gunicorn-workers。结果是,浏览器似乎序列化了对同一页面的访问。我猜测这可能与可缓存性有关,即浏览器认为该页面可能是可缓存的,等到加载时发现它不是可缓存的,因此它会发出另一个请求,依此类推。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gunicorn 不会同时处理同时发生的请求 的相关文章

  • ASP.Net 异步 HTTP 文件上传处理程序

    我正在尝试在 C 中创建一个异步文件上传处理程序 并且可以通过 AJAX 异步请求提供有关文件进度的更新 基本上 如果请求是 POST 它会将一些信息加载到会话中 然后开始上传 如果请求是 GET 它会返回上传的当前状态 上传的字节数 总字
  • Yii框架异步请求

    我有一个执行 3 个任务的 ajax 请求 保存模型 数据库 发电子邮件 给出成功或失败的消息 因为这个任务需要的时间太长了 用户最多可以等待 20 秒以获得响应 成功或失败消息 如果用户关闭浏览器 则其会停止用户当前进程的操作之一 这是糟
  • 可以等待的异步计数器

    我有一个连接类 它有几个异步方法 例如 SendText SendImage 等 连接类有一个 Disconnect 方法 当调用它时 我必须小心 不要在所有异步方法完成执行之前开始更改类的内部状态 我相信实现此目的的一个好方法是简单地保留
  • Javascript:如何检查异步操作是否仍在挂起/正在进行中?

    我想知道是否可以以某种方式检查 Javascript 中的异步操作是否仍处于待处理状态 因为我正在执行调用特定 URL 的数据库请求 虽然 db 调用仍在进行中 但我想停止任何其他传入的 db 调用 这意味着 停止对该 URL 的任何进一步
  • PHP 中的异步数据库/服务调用:Gearman 与 pthreads

    在我们的 LAMP 站点上 我们遇到一些服务必须多次调用数据库才能提取数据的问题 通常在 PHP 中完成此操作的方式 至少我的经验 是串行的 这显然是低效的 我们可以通过使用缓存和聚合一些查询来缓解一些低效率的问题 但在某些情况下我们仍然需
  • 为什么Promise中的代码会同步执行? [复制]

    这个问题在这里已经有答案了 在我的项目中 我有一个很长时间运行的操作 所以我决定将其放入Promise因为我认为这样我就可以在里面的代码继续执行其他操作Promise正在跑步 调试的时候发现外面的代码Promise仅当里面的代码执行Prom
  • C# 5 async/await 线程机制感觉不对?

    为什么让调用线程进入异步方法直到内部 等待 一旦调用异步方法就生成一个线程 这不是更干净吗 这样您就可以确定异步方法会立即返回 您不必担心在异步方法的早期阶段没有做任何昂贵的事情 我倾向于知道某个方法是否要在 我的 线程上执行代码 不管是堵
  • ASP.NET MVC 框架是否支持异步页面执行?

    我正在学习 ASP NET MVC 框架 来自一些文章 例如this http weblogs asp net stephenwalther archive 2008 03 17 asp net mvc in depth the life
  • 如何在asp.net中异步执行两个作业

    网 我需要你的帮助请帮助我 请参阅我的代码 如果我的第一份工作完成 则退出btn ok代码隐藏并更新到 ASP NET 屏幕 但同时作业 2 必须工作 正在处理批量电子邮件 protected void btn ok object send
  • 使用 JAX-RS 进行异步 REST 调用

    我需要创建一个 RESTful 服务 它应该以以下方式支持异步调用 当用户调用某个方法时 他会获得 http 202 代码和 url 来轮询 在其中他可以看到请求的状态 目前我使用 JAX RS 及其注释 Path public inter
  • Android异步服务调用策略

    这是场景 客户端对服务进行远程调用 返回 void 并提供 回调对象 服务在后台线程上执行一些长时间运行的逻辑 然后使用回调对象来触发以太成功或失败 因为这些操作视觉元素 执行 Activity runOnUiThread 块 该场景运行良
  • 使用回退异步加载 jquery 核心

    通过标头中的性能优化和非阻塞脚本 我一直在尝试异步加载 jquery 本身 我遇到了一个jQuery 加载器 http www yterium net jQl an asynchronous jQuery Loader脚本 那个async加
  • Promise.all 返回一个未定义的数组并在完成之前解析

    我在返回数组的函数时遇到问题undefined 这是代码 classMethods getQueries function models dbId dateStart dateEnd return new Promise function
  • 在Android的IntentService中等待异步回调

    我有一个IntentService在另一个类中启动异步任务 然后等待结果 问题是IntentService将尽快完成onHandleIntent 方法已经运行完毕了 对吗 这意味着 通常情况下 IntentService异步任务启动后会立即
  • 生产中的静态文件出现 Django 301 和 403 禁止错误

    我正在尝试使用 nginx 和 Gunicorn 在 ubuntu 14 04 vps 上部署 django 网站 但是我的 css 文件和 js 文件没有加载 我在默认的 django 开发服务器上开发了它 它运行得很好 但是当我部署我的
  • Python 多进程池。当其中一个工作进程确定不再需要完成工作时如何退出脚本?

    mp set start method spawn total count Counter 0 pool mp Pool initializer init initargs total count processes num proc po
  • Angularjs $http 等待响应

    我是 javascript angularjs 的新手 我想在某些元素上完成鼠标悬停时显示引导弹出窗口 我为此创建了一个指令 function angular app app directive popOver window http fu
  • 等待 AsyncMethod() 与等待等待 Task.Factory.StartNew(AsyncMethod)

    给出以下方法 public async Task
  • 异步 Spring MVC 控制器方法后记录响应正文

    我的 Spring MVC 应用程序中有以下内容 RestController public class SomeController GetMapping value csv produces text csv MediaType APP
  • 所有 C++ 编译器都支持 async/await 关键字吗?

    我想用async awaitC UE4 框架 中的语法 但由于跨平台代码 我不确定这是否可能 或者可能 如果是 我该如何使用它 而且还有await and await resumable yield and yield value另外 在

随机推荐