3

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

我需要使用尽可能最快的方式从大量站点列表中获取响应状态代码,我不能在多个线程中运行,这将在批处理过程中工作,这是一个必要条件。

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

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

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

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

任何帮助将不胜感激。

4

1 回答 1

2

与那些缓慢的响应时间(可能是 99% 的网络延迟 - 特定的 HTTP 库不太可能产生太大差异)相比,缺少线程是一个更大的问题。

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

于 2012-05-18T10:44:54.907 回答