'Timeout'에 해당되는 글 4건

  1. 2017.02.07 [HttpClient] Timeout 설정 예시
  2. 2016.03.23 [Elasticsearch] Timeout 소개.
  3. 2013.08.14 [Elasticsearch] 두 가지 timeout 설정..
  4. 2013.06.28 [elasticsearch] query timeout 개념 설명

[HttpClient] Timeout 설정 예시

ITWeb/개발일반 2017.02.07 13:41

HttpClient를 사용하면서 간혹 read timeout 이나 connection timeout 등이 발생 할 때가 있습니다.

그럴때 값을 조정해서 사용하시면 됩니다.


- 문서링크

setConnectionRequestTimeout

public RequestConfig.Builder setConnectionRequestTimeout(int connectionRequestTimeout)


setConnectTimeout

public RequestConfig.Builder setConnectTimeout(int connectTimeout)


setSocketTimeout

public RequestConfig.Builder setSocketTimeout(int socketTimeout)



아래 예시는 10초로 설정한 내용입니다.

HttpPost request = new HttpPost(url);


RequestConfig requestConfig = RequestConfig.custom()

  .setSocketTimeout(10*1000)

  .setConnectTimeout(10*1000)

  .setConnectionRequestTimeout(10*1000)

  .build();


request.setConfig(requestConfig);


저작자 표시 비영리 변경 금지
신고
Trackback 0 : Comment 0

[Elasticsearch] Timeout 소개.

Elastic/Elasticsearch 2016.03.23 11:39

Timeout 소개라기 보다 하도 예전에 봤던거라 다시 한번 살펴 봤습니다.

2013년도에 0.90 버전때 봤던 코드라 2.2.0 기반으로 정리해 봅니다.


참고링크) 


원문 Snippet)

By default, the coordinating node waits to receive a response from all shards. If one node is having trouble, it could slow down the response to all search requests.



참고 클래스)

TransportService.java

SearchService.java

SearchRequestBuilder.java


예전과 크게 달라 지지는 않았습니다.


첫번째 Timeout은 Shard 별 Search operation 에 대한 timeout 입니다. 

아시는 바와 같이 search request 를 보내게 되면 각 shard 수 만큼 thread 가 action 수행을 하게 됩니다. 이때 개별 thread 에 대한 timeout 설정이라고 보시면 됩니다.


두번째 Timeout은 search coordinator node에서의 timeout 입니다. 즉, 모든 shard 에서 데이터를 받을 때 까지의 timeout 이라고 보시면 됩니다.


저작자 표시 비영리 변경 금지
신고
Trackback 0 : Comment 0

[Elasticsearch] 두 가지 timeout 설정..

Elastic/Elasticsearch 2013.08.14 16:31

elasticsearch 에서 검색 수행 시 두 가지 timeout 설정이 있습니다.

1. shard 간 데이터를 aggregation 할 때의 timeout

2. 검색 수행 시 timeout

잘 활용 하시면 응답 시간 관리에 도움이 됩니다. :)

ㅎㅎ

신고
Trackback 0 : Comment 0

[elasticsearch] query timeout 개념 설명

Elastic/Elasticsearch 2013.06.28 21:46

elasticsearch 에서의 query timeout 에 대해 설명 합니다.


query timeout 은 두 가지 방법으로 설정이 가능 합니다.

1. Java API

setTimeout(millisecond)

2. Request URI (?timeout=10ms)

timeout=1S

S    : 1S = 1millisecond

ms : millisecond

s : second

m : minute

H : hour

d : day

w : week


기본 millisecond 입니다.


elasticsearch 에서는 query execution 후 중지 시킬 수 없습니다.

즉, timeout 을 지정 했다고 해서 실행 시간이 설정한 timeout 을 넘더라도 실행을 중지 하거나 connection 을 끊거나 하지 않습니다.


shard 들에 질의 후 문서를 collecting 하는데 실행 시간을 제한 하는 기능 입니다.

es 에서 구현된 기능이 아닌 lucene 에서 구현된 기능 입니다.


아래는 이해를 돕기 위한 관련 클래스 파일 입니다.

lucene

TimeLimitingCollector.java

elasticsearch

ContextIndexSearcher.java

TimeValue.java


신고
Trackback 0 : Comment 0