在Java中检索Http响应状态的最快方法

时间:2012-05-18 09:51:55

标签: java spring http rest httpresponse

我正在做一些研究和基准测试,以便从Http响应中获取状态代码。

我需要使用尽可能快的方式从大量网站中获取响应状态代码,我无法在多个线程中运行,这将在批处理过程中运行,这是必需的。

我创建了一个基准测试服务,可以多次发送请求(避免站点缓存)并检索时间统计​​信息。

我正在使用不同的客户端和API进行测试,但响应时间不够好(最小200毫秒,平均值:300 - 400毫秒)。

我使用Java URLConnection,SpringRestTemplate,ApacheHttpCommons,GoogleHttpClient和Restlet进行测试。 我发现的一个问题是,在其中一些问题中我只能请求HEAD,然后检索状态sode,以便我选择完整的响应。

我也在思考套接字和脚本。

任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

缺乏线程是一个更大的问题,那些响应时间很慢(可能是99%的网络延迟 - 特定的HTTP库不太可能产生太大的影响)。

您可以尝试使用基于Java NIO构建的http://mina.apache.org/asyncweb/,因此不会阻塞,但它可能会在后台创建线程。