me2day

MultiThreadedHttpConnectionManager 의 DEFAULT_MAX_HOST_CONNECTIONS는 왜 2일까? RFC 2616 의 sec 8.1.4를 찾아봐도 multi-thread의 서버 모듈에서는 Concurrent User * 2가 맞는것 같은데 12.03.15 03:48

미투 1 fupfin

12 개의 댓글이 있습니다.

베네로그 베네로그

'A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy.'인데 multi-thread에서 공유되면 이미 single user client가 아니지 않나?

12.03.15 03:48
fupfin fupfin

저도 이것 때문에 늘 골탕 먹어요. 자주 쓰는 게 아니라 늘 기억하는 것도 아니고 문서화가 잘 된 것도 아니고...

12.03.15 04:31
베네로그 베네로그

fupfin 이 디폴트가 멀티쓰레드에서 큰 의미가 있진 않겠죠? 전반적인 API 설계는 4.0에서 좀 나아지긴 했더라구요.

12.03.15 04:34
fupfin fupfin

베네로그 이 디폴트 땜에 멀티 쓰레드에서 병목이 생기는... ㅠㅠ 4.0에서 깨끗해지긴 했는데 문서는 여전히 불친절하고 부족해요. (1년 전 얘기지만...)

12.03.15 04:39
베네로그 베네로그

fupfin 저도 그런 사례를 몇번 들었어요. 그런데 실무에서 더 많이 봤던 코드는 HttpClient 객체를 매번 요청떄마다 생성하는 코드였어요 -_-;

12.03.15 04:42
fupfin fupfin

베네로그 악!!!

12.03.15 04:50
ologist ologist

저도 문제가 많아서 매번 생성했어요 실제로 개발자들이 헷갈려서 쓰레드상에 데이터공유가 되서 애먹었습니다

12.03.15 07:37
베네로그 베네로그

ologist 3.x대에는 버그가 많다건데 그래서 그런지도 모르겠네요.

12.03.15 07:39
EP EP

JettyHttpClient로 오세요

12.03.15 08:26
다즐링 다즐링

원래 브라우저에서 제한이 그렇습니다

12.03.15 11:57
베네로그 베네로그

다즐링 네, 그래서 Single user client에서는 적절한 값인데, MultiThread용으로 만든 모듈에서도 그런게 좀 불편한 디폴트 같기도 해서요. 원래 server to server용만 생각한게 아니라서 그런것도 같네요

12.03.15 13:43
베네로그 베네로그

EP 오호 한번 찾아봐야겠네요..

12.03.15 13:43