- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在编写一个针对 Web 应用程序运行的基准测试工具。我面临的问题是对服务器的第一个请求总是比后续请求花费更长的时间。我在 apache http 客户端 3.x、4.x 和 Google http client 上遇到过这个问题。 . apache http 客户端 4.x 显示出最大的差异(第一个请求比后续请求花费的时间大约长 7 倍。对于 Google 和 3.x,它大约长 3 倍。
我的工具必须能够对线程的同时请求进行基准测试。我不能使用一个实例HttpClient 并从所有线程调用它,因为这会引发并发异常。因此,我必须在每个线程中使用一个单独的实例,它只会执行一个请求。这会显着改变整体结果。
我不理解这种行为。我不认为这是由于服务器上的缓存机制造成的,因为 a) 正在考虑的 webapp 不使用任何缓存(据我所知)和 b) 这种效果在第一次请求 www.hostxy.com 和之后也是可见的www.hostxy.com/my/webapp。
我分别在调用 client.execute(get)
或 get.execute()
之前和之后立即使用 System.nanoTime()。
有谁知道这种行为从何而来?这些 httpclients 自己做任何缓存吗?如果有任何提示,我将不胜感激。
最佳答案
阅读:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html用于连接池。
您的第一个连接可能需要最长的时间,因为它是一个 Connect: keep-alive 连接,因此一旦建立连接,后续连接就可以重用该连接。这只是一个猜测
关于Java - 对特定主机的第一个 http 请求明显较慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15766719/
有人可以解释一下,在 DOM 中搜索元素时,为什么 Xpath 被认为比 CSS 选择器慢。不同的选择器是否有不同的引擎(例如 Xpath、CSS 选择器等) 谢谢 最佳答案 Xpath 并不是被认为
在我们的一个 MVC 页面中尝试加速某些 ajax 调用时,我遇到了一些我无法真正解释的奇怪行为。我每隔 N 秒就会进行一些 ajax 调用,以轮询一些统计数据。 似乎在物理上不同的文件中对 Cont
Background 尝试进行一个简单的实验,看看传统的 if 语句检查 null 是否比 Apache Commons Lang StringUtils isEmpty/isBlank 更快。 为了
我正在从 Android 设备调用 rest api,并且看到与 PC 相比的速度差异,我感到非常惊讶。下面是来自 PC 上的休息工具的图像。 我尝试了几个库,如 Retrofit、Volley 和常
为什么 scipy.distance.cdist 使用 float32 和 float64 时性能差异很大? from scipy.spatial import distance import num
我是一名优秀的程序员,十分优秀!