Httprest的性能提升

时间:2012-06-05 02:29:33

标签: java rest

我正在进行HTTPRest调用以将数据发送给第三方, 我的数据大约在3到1千万之间,我每个请求只能发送一条记录以及第三方指定的用户名和密码进行身份验证

我正在使用的示例代码是

public static void main(String[] args) {

  try {

    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPost postRequest = new HttpPost(
        "http://localhost:8080/RESTfulExample/json/product/post");

    StringEntity input = new StringEntity("{\"qty\":100,\"name\":\"iPad 4\"}");
    input.setContentType("application/json");
    postRequest.setEntity(input);

    HttpResponse response = httpClient.execute(postRequest);

    if (response.getStatusLine().getStatusCode() != 201) {
        throw new RuntimeException("Failed : HTTP error code : "
            + response.getStatusLine().getStatusCode());
    }

    BufferedReader br = new BufferedReader(
                    new InputStreamReader((response.getEntity().getContent())));

    String output;
    System.out.println("Output from Server .... \n");
    while ((output = br.readLine()) != null) {
        System.out.println(output);
    }



  } catch (MalformedURLException e) {

    e.printStackTrace();

  } catch (IOException e) {

    e.printStackTrace();

  }

}

对于每个请求大约需要6秒钟,如果我计算1000万条记录需要几个小时,有人可以建议我提高性能吗?

提前谢谢 晴天

2 个答案:

答案 0 :(得分:1)

首先,如果一个请求需要6秒,那么1000万条记录需要115天。因此,在使用多线程技术从静音端提高性能之前,应首先将响应时间从6秒减少到几百毫秒。

答案 1 :(得分:1)

使用This code 这将在调用REST时提高性能 因为它使用像WebResource这样的Jax api等等......