2011-10-24 5 views
2

다른 WCF 서비스로 표시되는 데이터 저장소에 액세스하는 WCF 서비스가있는 설계가 있습니다. 이 문제는 SOA를 고수하고 실제 서비스와 데이터 액세스 계층에 의한로드 균형 조정 가능성 및 초기 서비스에 영향을 미치지 않으면 서 데이터 저장소가 대규모로 변경 될 수있는 가능성을 제공합니다.다른 WCF 서비스를 호출하는 WCF 서비스가 느립니다.

문제는 IIS6에서 실행 중이며 암호화가 설정되어 있어야합니다. 4.75469280423686 400 전화 : 두 서비스와

우리가 초당 요청 약

평균 수의 평균을 받고있었습니다.

하지만 두 번째 서비스에 서비스 호출을 제거하고 초당 요청

평균 수이 거의 두 배로 절대 참조로 교체하는 경우 : 8.52248037501811 400 전화를.

누군가 이걸 최적화하는 방법/방법에 대한 단서가 있습니까?

내가 추가해야하는 것은 동시 호출이 아닙니다.

+0

이 문제에 대한 해결책이 있습니까? 비슷한 문제가있어 소스를 추적하는 것이 매우 어렵습니다. –

답변

3

이 CodeProject 기사는 BT의 수석 설계자가 작성한 http://www.codeproject.com/KB/webservices/quickwins.aspx을 읽어 보시기 바랍니다.

+0

감사합니다, 지금 읽기! 그러나 이러한 호출은 동시 (업데이트 된 메인 포스트)가 아니지만 IP 주소의 2 통화 제한은 서비스 # 2의 병목이됩니다. –

0

두 웹 서비스가 동일한 컴퓨터에서 실행되고 동일한 응용 프로그램 풀에서 실행됩니까? 전에 정확한 문제를 겪었습니다. 우리는 결국이 아키텍처를 완전히 없애 버렸지 만 다른 응용 프로그램 풀에 넣으면 도움이 될 수 있다고 생각합니다.

또한 IIS6에 대해 언급 했으므로 .Net이 계속 지연 될 수 있습니다. http://msdn.microsoft.com/en-us/library/ff647787.aspx (6 장 : ASP.NET 성능 향상) - 특히 "스레딩 설명"섹션을 확인하십시오. (기본적으로 IIS6에는 해당 프로세서에 적절한 .Net 스레드 수가 없습니다. IIS7 +는 않습니다.)

행운을 빈다!

+0

그들은 동일한 응용 프로그램 풀에서 매우 많이 실행됩니다. 나는 그것을 시도 할 것입니다. 이 시간에 스레딩이 발생하지 않았습니다. 모든 테스트가 400 회 연속으로 실행됩니다. S1 :> S2에 대한 요청의 1 : 1 매핑이 필요합니다. –

+0

흥미로운 점은 IIS에 대한 각 연결에 지연이있는 것처럼 들리지만 그 자체 내에서. SOAP 헤더에서 인증하는 것과 같이 일정 시간이 걸리는 서비스 동작이 있습니까? –

관련 문제