2017-11-29 3 views
0

HTTP 요청 풀에 성능이 중요한 응용 프로그램이 있습니다. 내 응용 프로그램 서비스는 일괄 처리 파일을 집중적으로 처리합니다. PoolingHttpClientConnectionManager가 여러 요청에 대한 연결을 다시 사용합니까? 그렇다면 최적의 연결 유지 시간은 어떻게 계산합니까? 내 http 요청 응답 시간은 평균 25 ms입니다.PoolingHttpClientConnectionManager 및 연결 유지 설정

답변

0

예, 여러 요청에 대해 연결을 다시 사용합니다. 경로 당 최대 개수의 연결을 풀링하고 기본값은 2이므로 거의 늘려야합니다. 그렇지 않으면 병목 현상이 발생할 것입니다.

가장 좋은 keep-alive 시간을 계산하는 것은 많은 일에 달려 있기 때문에 사소한 일입니다. 버스트 횟수, 웹 프런트 또는 응용 프로그램 서버가 지원하는 유지 시간은 무엇입니까? 일반적으로 저는 5 ~ 10 초 정도 걸릴 것입니다. 버스트가 8 초 간격이라는 것을 알고 있다면 약간 큰 것을 목표로 삼습니다. 버스트가 몇 분 이상 떨어져 있으면 연결이 오래 유지되도록하는 것이 문제가 될 수 있습니다 (방화벽, 서버 쪽 닫기 등 ...).

+0

감사합니다. 웹 서비스가 최적의 응답 시간으로 처리 할 수있는 값으로 setDefaultMaxPerRoute를 설정했습니다. 파열 사이의 시간은 예측할 수 없으며 10 분에서 2 시간 정도 걸릴 수 있습니다. 나는 많은 연결이 재사용되고있을 때 나는 처리 시간 동안 더 나은 성능을 얻을 수 있다고 생각한다. 평균 처리 시간은 250K 요청 당 3 분입니다. – user3140656

관련 문제