【问题标题】:Flask minimalist API + XHR Ajax slow for no apparent reasonFlask 极简 API + XHR Ajax 无缘无故变慢
【发布时间】:2017-06-04 00:49:58
【问题描述】:

我真的无法理解这种情况。我尝试了尽可能多的 Web 服务器,从嵌入式到 Tornado Web 服务器 + nginx。

我已经监控了我的请求,这是日志:

  • 警告:tornado.access:409 PUT /afficheur/article (127.0.0.1) 8.81 毫秒
  • 警告:tornado.access:409 GET /imprimante/tiroir (127.0.0.1) 1.38ms

到目前为止,响应时间还不错。我的浏览器开始出现问题。 Safari、Chrome 和 Firefox 的结果相同。

我使用网络分析器栏来监控 XHR 请求。结果如下:

奇怪的是,当使用 Chrome 嵌入式开发工具进行 XHR 请求监控时,响应时间接近服务器响应时间。

当服务器在命中后 1.38 毫秒响应时,有人可以向我解释为什么 imprimante/tiroir 用简单的 Ajax 请求花费了 162 毫秒。

我真的很困惑。浏览器端肯定会发生一些事情,但我不知道是什么。

注意#1:我什至尝试从服务器中删除所有处理,但没有任何改变。

注意#2:HTTP 409 代码在这里是正常的。 HTTP 200 也是如此。

注意#3:.ajax 请求是异步的,没有成功处理程序也没有错误。

谢谢!

编辑:

ouvrir_tiroir = function () {
        $.ajax({
            url: 'http://127.0.0.1:5000/imprimante/tiroir',
            type: 'GET'
        });
    };
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

【问题讨论】:

  • 数据是否发布到服务器?服务器的响应是什么?
  • 使用 /imprimante/tiroir 没有参数。简单的 HTTP/GET。对于 afficheur/article 存在争论,但我的关注点主要集中在 /imprimante/tiroir。服务器总是以 application/json 内容响应。带有 {message: 'DebugMessage'}。
  • 不确定是什么问题和预期结果?
  • 问题是当服务器在 2ms 内响应时,ajax 请求在 162ms 后结束。我们能否全面了解 js-ajax 方面的情况?

标签: javascript python ajax flask tornado


【解决方案1】:

WebProfiler 栏不显示 XHR 时间,而是显示周围的函数延迟。 (可能是多个 XHR 请求,分析器将汇总所有内容并将其分配给第一个 XHR 调用)。那就小心点。

问题解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多