2011-08-24 5 views
1

좋아, 그래서 버퍼 판독기를 사용하여 300 개가 넘는 사이트에서 합리적인 속도로 정보를 얻는 300 개 이상의 스레드를 사용하고 있습니다. 그래서 기본적으로 매초마다이 예외가 발생합니다. 그 사이 사이트의 정보가 50 % 미만으로 줄어들뿐입니다. 그래서 새로운 스레드를 시작할 때까지 기다리는 것이 좋은 잠을 잘 수 있을지 궁금합니다.java.net.SocketExeption을 피하는 좋은 수면 시간 : 서버에서 예상치 못한 파일 끝내기?

답변

1

... 경험만으로도 알 수 있습니다. 이것은 인프라에 많은 영향을 미칩니다. 연결 품질, 소켓을 관리하는 OS의 성능 ...

작은 잠을 자거나 적은 동시 연결을 시도하고 필요에 맞게 조정하십시오.

간단한 "절전 모드 및 다시 시도"정책을 시도해 볼 수 있습니다. 연속적인 오류로 인해 다음 요청이 발생할 때마다 절전 시간이 길어질 수 있습니다.

0

나는 당신의 문제가 잠자기 시간이 아니라 동시 작업의 수를 읽는 것으로 생각한다. 원하는만큼의 스레드를 사용할 수 있지만 그 중 N 명만 I/O 작업을 수행 할 수 있습니다. I/O 섹션을 입력하기 위해 Semaphore 클래스를 사용하거나 아파치 또는 비슷한 것으로부터 커먼 - 풀을 사용할 것을 고려할 수 있습니다.

관련 문제