WCF 웹 서비스의 성능이 향상되고 있습니다. 이 웹 서비스는 응답하는 데 오랜 시간이 걸릴 수있는 다른 웹 서비스를 호출합니다 (5 초 이상). 서비스에 부하가 높으면 다운 스트림 서비스가 응답하기를 기다리고 있기 때문에 모든 스레드가 사용되는 상황을 경험할 수 있습니다. 이것은 전체 시스템이 백업 등을 야기합니다.작업 <T>은 실제로 사용되는 스레드 수를 줄입니까?
WCF 비동기 작업 패턴을 사용하면 실제로 도움이 될 것입니다. 내 진짜 질문은 응답을 기다리고있는 다운 스트림 서비스를 호출하는 스레드에 정확히 무슨 일이 일어나는 것입니까? 이 스레드는 여전히 백그라운드 작업자 풀이나 그 외의 호출에 할당되어 있습니까? 비동기 작업으로 이동하면 실제로 사용되는 스레드 수를 줄일 수 있다는 것을 증명할 수 있어야합니다.
위대한 정보. 그래서 호기심에서 응답을 듣고있는 단일 스레드와 같은 것이 있습니까? 뭔가가 TCP 소켓을 열어야하고 최종 응답을 계속 수신해야한다는 것을 의미합니까? 그게 뭐야? 단일 스레드 (또는 고정 된 스레드 풀)를 사용하여 수신 대기중인 모든 연결간에 공유합니까? –
일반적으로 이것이 패턴입니다. 하나 이상의 스레드가 포트를 공유하고 루프에서 수신 대기하고, 응답을 받으면 즉시 스레드에서이를 스핀하고 다시 청취합니다. – Haney