是否有可能使用JavaScript分解XHR网络性能?

时间:2013-03-27 15:53:38

标签: javascript performance xmlhttprequest

我有一个XHR请求。 我想了解从发送请求到获取响应需要多少时间。 我希望能够说它在服务器上花费了X时间,在网络上花费了Y时间

3 个答案:

答案 0 :(得分:1)

你可以使用日期对象来获取时间,在发送请求之前你可以在变量中存储时间戳,当它返回时(xml.readyState == 4&& xml.status == 200)你可以得到另一个时间日期对象获取时间然后采取差异。

使用IE - >按F12 - >然后网络 - >捕获网络 - >你可以看到的每一个主题。

答案 1 :(得分:0)

  1. 您可以使用Chrome中的开发者工具或FF中的Firebug进行查看 您的请求的网络痕迹。
  2. 您还可以查看应用程序的服务器端日志。我用 log4j,所以很容易看到时间戳。
  3. 如果您想使用仅javascript 代码来完成此操作,我会的 说使用console.log。你可以在它周围创建一个包装器 总是打印日期。如果未定义console.log,请小心。
  4. 这是一个小js包装器:

    log : function(message, debugType) {
        var str = new Date().toLocaleTimeString() + ", "
                + ((debugType) ? debugType : "INFO") + ", " + message;
        console.log(str);
    }
    

    然后你可以在XHR之前和之后调用它。

答案 2 :(得分:0)

你可以:

  1. 记录您发起请求的时间并将其存储在变量
  2. 服务器收到时间后立即记录时间并将其存储在变量
  3. 记录服务器完成处理的时间,并在响应客户端时包括处理开始和结束的时间
  4. 记录客户端收到响应的时间。
  5. 从这四个时间戳中,您应该能够确定服务器接收请求所需的时间,处理请求所需的时间,客户端接收响应所需的时间以及总时间。

    它不会100%准确,但会很接近。