Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中快速请求http操作(最小开销)_Java_Performance_Rest_Http_Httpclient - Fatal编程技术网

如何在java中快速请求http操作(最小开销)

如何在java中快速请求http操作(最小开销),java,performance,rest,http,httpclient,Java,Performance,Rest,Http,Httpclient,我正在尝试向服务器发送PUT/POST请求,并测量往返行程。 我在每个请求上附加了一个相当大的主体(5k json元素) 在我的日常框架中执行它需要很长时间(使用rest-assured、hamcrests、prettyingjson结果等)。因此,我正在寻找一种使我的请求开销尽可能短的方法 我可以看到dhc/postman中的请求速度非常快,但即使使用HttpClient,我也无法达到这样的速度,如下所示: HttpClient httpclient = HttpClients.cre

我正在尝试向服务器发送PUT/POST请求,并测量往返行程。
我在每个请求上附加了一个相当大的主体(5k json元素)

在我的日常框架中执行它需要很长时间(使用rest-assured、hamcrests、prettyingjson结果等)。因此,我正在寻找一种使我的请求开销尽可能短的方法

我可以看到dhc/postman中的请求速度非常快,但即使使用HttpClient,我也无法达到这样的速度,如下所示:

    HttpClient httpclient = HttpClients.createDefault();
    HttpPost httppost = new HttpPost("https://XXX/rest/"+url);
    httppost.addHeader(Constants.CONTENT_TYPE_HEADER,Constants.JSON_CONTENT_TYPE);
    StringEntity params =new StringEntity(str);
    httppost.setHeader("Authorization","XXXX");
    httppost.setEntity(params);
    org.apache.http.HttpResponse response = httpclient.execute(httppost);
我得到的结果比通过DHC/邮递员运行时慢

谢谢

速度上的差异与什么有关?服务器响应时间(即在最后一行代码中花费的时间)或总体测试执行?如果后者适用,您是否碰巧在for循环中实例化了HTTP客户机?