Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript ajax调用上运行基准测试_Javascript_Ajax_Benchmarking_Design Patterns - Fatal编程技术网

在javascript ajax调用上运行基准测试

在javascript ajax调用上运行基准测试,javascript,ajax,benchmarking,design-patterns,Javascript,Ajax,Benchmarking,Design Patterns,一个函数返回一个id的单个项。 另一个函数为3个ID返回3个项目,我只是想对这3个ID进行基准测试,这是最好的,为了简单起见,我更喜欢单个请求。然而,需要证据 我使用jQuery$.ajax来执行get请求。这些数字似乎不正确: 我从100个三元组开始,花了0.16秒。 10k三元组占用了约17秒,我原本预计约300秒,后端发出Endeca请求。 我选择了20个左右的id号来请求[Endeca默认情况下会缓存,但对于这些查询,它是关闭的] 问题的核心是如何对ajax调用进行基准测试。电话打完后,

一个函数返回一个id的单个项。 另一个函数为3个ID返回3个项目,我只是想对这3个ID进行基准测试,这是最好的,为了简单起见,我更喜欢单个请求。然而,需要证据

我使用jQuery$.ajax来执行get请求。这些数字似乎不正确:

我从100个三元组开始,花了0.16秒。 10k三元组占用了约17秒,我原本预计约300秒,后端发出Endeca请求。 我选择了20个左右的id号来请求[Endeca默认情况下会缓存,但对于这些查询,它是关闭的]


问题的核心是如何对ajax调用进行基准测试。电话打完后,开始时间和结束时间需要结合起来,以获得时间。然而,异步调用很快就通过了。在我看来,我只是在测量一系列函数调用。

你检查控制台,看是否有任何请求实际上是从浏览器缓存中检索的吗?FACEPALM我一直在努力清除网页的缓存。当然,这将在重复请求时得到缓存。如何在Chrome上关闭缓存似乎并不明显。只要在每个请求的查询字符串中添加一个时间戳,它们就不会被缓存,因为url每次都不同。这一点很好。然而,它的目的是使其具有RESTful:我特意不使用查询字符串……但它不会干扰您的url方案。这是一个客户端问题,例如,当您使用jquery的ajax并传递cache:false时,它将在发送请求之前附加一个时间戳。