小编Nob*_*ore的帖子

RestTemplate.exchange 长延迟

我们的 Spring 应用程序使用 RestTemplate 通过 Exchange() 方法向 Web 服务端点发送 HTTP 1.1 请求。99.8% 的情况下,这工作正常,但在 0.2% 的情况下,这会导致调用restTemplate.exchange() 和我们的负载均衡器记录 HTTP 请求(然后转发)之间的较长(10-180 秒)延迟到网络服务)。RestTemplate 是在没有指定备用 ClientHttpRequestFactory 的参数的情况下初始化的,所以我知道这段代码没有利用连接池,例如通过如下方式初始化它:

restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory())
Run Code Online (Sandbox Code Playgroud)

这是否能从逻辑上解释我所描述的症状,还是我应该继续调查?

这是代码片段,.exchange() 的最后一行在一小部分时间内会产生缓慢的性能。

private <T> ResponseEntity<T> request(String project, 
    String url, 
    HttpMethod method, 
    HttpEntity<String> request, 
    ClientHttpRequestInterceptor moduleInterceptor, 
    ParameterizedTypeReference<T> parameterizedTypeReference) {

    log.info("request(): url - {}", url);
    List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
    if (moduleInterceptor != null) {
        interceptors.add(moduleInterceptor);
    }
    restTemplate.setInterceptors(interceptors);
    try {
        ResponseEntity<T> response = restTemplate.exchange(url, method, request, parameterizedTypeReference);
Run Code Online (Sandbox Code Playgroud)

java rest spring web-services resttemplate

5
推荐指数
0
解决办法
2135
查看次数

SQL 性能除外

我正在尝试使用类似于以下查询的查询来查找两个表之间的差异(DEV 数据库与 TEST 数据库中的同一个表)。每个表有约 30K 行和约 5 列。

select field1,field2,field3,field4,field5 from dev.dbo.table1 
where field1+field2 in ('string1','string2','string3',...,'string50')
except
select field1,field2,field3,field4,field5 from test.dbo.table1 
where field1+field2 in ('string1','string2','string3',...,'string50')
Run Code Online (Sandbox Code Playgroud)

字段 1 是char(5),字段 2 是char(1)

这个查询基本上永远不会终止。

当我使用 分析此查询时SET SHOWPLAN_ALL ON,我可以看到树中有一个相当高的嵌套循环。当我将上面的查询更改为

select * from dev.dbo.table1 
except
select * from test.dbo.table2
Run Code Online (Sandbox Code Playgroud)

查询运行速度很快,并且执行计划中没有嵌套循环。

有人可以帮忙解释一下吗?我不明白为什么会有如此巨大的差异。

sql sql-server-2005 except

3
推荐指数
1
解决办法
7293
查看次数

标签 统计

except ×1

java ×1

rest ×1

resttemplate ×1

spring ×1

sql ×1

sql-server-2005 ×1

web-services ×1