2

我正在使用 jQuery 对 API 请求所花费的时间进行基准测试。为此,我将在特定间隔内重复运行相同的请求。一切运行良好。

但是,如果我将时间间隔缩短到明显低于 API 请求返回所需的时间,那么基准时间将加起来。

尝试将 JSBin 示例中的 Interval 减少到 100,你会明白我的意思:

简化的 JSBin 示例:http: //jsbin.com/azuqUho/4/edit

我在这里形象化了这一点: 间隔足够高 间隔到低

由于我无法将 now 变量传递给 getJSON 的成功函数,我不知道如何解决这个问题。

有什么建议么?

谢谢,西蒙

4

2 回答 2

1

它的浏览器连接限制

浏览器一次只能执行 x 个请求。如果您运行间隔太快,则并行运行的请求大于 x。假设 x=5 并且您运行 6 个请求。前 5 个请求将几乎同时返回,第 6 个请求将花费〜双倍的时间(它必须等到前 5 个请求中的一个完成)

为了证明这一点,我一次只做 5 个请求,if(requests<6) {我们看到时间保持不变 http://jsbin.com/azuqUho/12/edit

于 2013-09-20T12:14:09.813 回答
0

由于浏览器可以发送的请求的限制,使用 servlet 进行基准测试可以避免计算等待时间。

于 2013-09-20T12:07:21.413 回答