1

我有一个相当直截了当的问题,我将执行大量 HTTP 请求来获取 XML 有效负载,我需要解析有效负载并对数据库进行一些更改。

我将非常频繁地执行这些请求,因此任何优化都会很好。

我想知道是否有更有效的方法来处理请求,因为这将花费最多的时间。我正在用 Java 编写它,我使用 SAXParser 来解析 XML 有效负载以获取我需要的数据。我正在为 Http 请求使用 HttpURLConnection 类,我只是运行一个同步的线程并等待每个请求。我尝试同时运行请求,但遇到了一些问题。我将在其上执行此操作的计算机功能非常强大,因此我不会遇到内存或处理问题。所以我的问题是:

  1. 获取 XML 有效负载的哈希并将其存储在数据库中或解析 XML 并手动检查数据会更有效吗?
  2. 是否有比 HttpURLConnection 更高效的 HttpRequests 库?
  3. 可以通过线程化请求进行任何优化吗?

任何见解都值得赞赏。

4

1 回答 1

2

获取 XML 有效负载的哈希并将其存储在数据库中或解析 XML 并手动检查数据会更有效吗?

为 XML 有效负载计算哈希几乎肯定会比解析它更快。这是检测您是否已经拥有不需要重新解析的有效负载的好方法。

是否有比 HttpURLConnection 更高效的 HttpRequests 库?

当然,使用Apache HttpComponents正如这个遗留但仍然相关的文档中强调的那样,有几种方法可以调整它的性能。

可以通过线程化请求进行任何优化吗?

与所有与线程相关的事物一样,这将取决于几个因素,包括您的硬件配置(尤其是您的网络硬件)。从理论上讲,您应该从多线程中获得一些好处。我不会把它作为调优的第一要务。

于 2013-03-07T01:28:47.207 回答