2014-04-01 2 views
-1

많은 서블릿으로 구성된 SOA 애플리케이션이 있습니다. 클라이언트가 요청을 제출하면 내 응용 프로그램은 4 개의 외부 응용 프로그램에 연결하고 응용 프로그램간에 데이터를 교환하고 그 결과를 제공합니다.SOA 애플리케이션의 스레드 수 결정 (Servlet 사용)

이제 이러한 4 개의 연결로 인해 요청의 응답이 상당히 지연됩니다. 따라서 우리는이 네 가지 호출을 스레드로 분리하여 주 스레드가 '우리가 사용자의 데이터를 처리 중입니다.'라고 빠르게 응답 할 수 있도록 할 계획입니다.

질문 : 이러한 작업을 위해 몇 개의 스레드를 시작해야합니까? 단일 스레드에서 4 가지 스레드까지 모든 작업을 수행 할 수 있습니다. 최적의 솔루션은 무엇입니까?

또한 CPU에 가장 큰 영향을주는 것은 무엇입니까? 쓰레드의 수 또는 특정 쓰레드 실행 시간의 길이? 내 응용 프로그램은 초당 5-7 개의 요청을받습니다. 그래서, 무엇이 더 좋을까요? 1 개의 분리 된 (그리고 더 길게 운영되는) 쓰레드 또는 요청 당 4 개의 분리 된 (그러나 더 짧은 운영) 쓰레드?

미리 감사드립니다.

답변

0

시작할 스레드 수는 보유하고있는 독립적 인 작업 수에 따라 다릅니다. 더 많은 작업/모듈/기능 (당신이 무엇을 부르 든)이 많을수록, 당신은 각 작업/모듈을 위해 더 많은 스레드를 시작할 수 있습니다. 동시에 수행해야하는 독립적 인 작업을 기반으로 사용해야하는 스레드 수와 사용 방법을 알아야합니다.

CPU에 가장 큰 영향을주는 것은 무엇입니까? 쓰레드의 수 또는 특정 쓰레드 실행 시간의 길이? .

그것은 사소한 질문 인 것 같습니다. 둘 다 효과가 있습니다. 아마. 보유하고있는 응용 프로그램/코드에 따라 다르지만 문제는 아닙니다.

관련 문제