在服务器中部署时,RESTLET响应时间变得太慢

时间:2016-12-22 11:49:50

标签: restlet-2.0

我创建了一个使用POST / Json的基于Restlet的Web服务。

问题是在本地计算机上测试时,

效果非常好。但是当它部署在服务器上时,

比在我的本地开发中测试时多花了大约10秒

机器即使没有其他进程使用

也能获得响应

服务器的资源。

1 个答案:

答案 0 :(得分:0)

我使用Apache Http Client而不是

解决了这个问题 来自RESTlet的

ClientResource。

我在远程Linux服务器上为ClientResource和Apache HTTP测试了相同的基于RESTlet的Web服务。前者花了大约10秒钟 后者不到1秒。而且我不知道为什么。

public class Test 
{
public static void main(String [] args)
{

    HttpClient httpClient = HttpClientBuilder.create().build(); //Use this instead 

    try {
        HttpPost request = new HttpPost("http://hostname:port/testService");
        StringEntity params =new StringEntity("{\"key\" : \"value\"}");
        request.addHeader("content-type", "application/json");
        request.addHeader("Accept", "application/json");
        request.setEntity(params);
        HttpResponse response = httpClient.execute(request);

        String json_string = EntityUtils.toString(response.getEntity());

        System.out.println(json_string);
    }catch (Exception ex) {
        // handle exception here
    } finally {
        httpClient.getConnectionManager().shutdown(); //Deprecated
    }
}

}