IIS에서 호스팅되는 WCF 서비스가 있습니다. 서비스는 요청을 받고 요청 매개 변수 중 하나를 기반으로 요청을 자체적으로 처리하거나 다른 서버로 리디렉션합니다. 리디렉션 프로세스는 본질적으로 다른 기존 웹 서비스 (asmx)에 대한 호출입니다.WCF 서비스 - 통화 리디렉션 문제
우리가 직면 한 문제는 asmx 서비스를 직접 호출 할 때 20ms 이내에 응답을 얻지 만 WCF 서비스를 통해 응답을 받으면 응답 시간이 300ms로 줄어 듭니다. 내 가정은 요청이 WCF 서비스에서 asmx 서비스로 보내지기 전에 어딘가에 (IIS) 개최되고 있다는 것입니다. 그러나 성능 카운터를 확인하려고 시도했지만 아무 결론을 도출 할 수있는 카운터를 찾을 수 없었습니다. 나는 또한뿐만 아니라 매우 지표가 아니라 IIS 로그를 확인했습니다.
wcf 서비스를 호스팅하는 서버에서 asmx 서비스를 호스팅하는 서버에 ping을 시도했으나 응답을 되 찾는 데 겨우 3ms가 걸렸습니다.
통화에서 여분의 시간이 소비되는 곳으로 결론을 이끌 수있는 방법이 있습니까?
업데이트 - 필자는 Fiddler를 사용하려고했는데 응답 시간이 20 밀리미터 apprx가되었습니다. 피들러를 제거하면 응답 시간이 200 ms로 증가합니다.
프레임 워크 3.5에서 호출 할 때 Framework 2.0에 내장 된 서비스가 느리게 응답 할 가능성이 있습니까?
업데이트 2 우리는 프록시 문제로 범위를 좁혔습니다. 피들러에서 프록시 옵션을 해제하면 응답 시간이 길어집니다. WCF 서비스에 대한 호출은 asMx 서비스를 호출하는 basicHttpBinding에서 수행됩니다. 피들러가 프록시를 캐싱하고 다음에 다시 사용하는 것처럼 보입니다. 이 이해가 정확하다면 비슷한 일을 구현하는 방법이있을 수 있습니까?
ANTS 프로파일 러 또는 Visual Studio와 같은 도구에서 프로파일 링 WCF 서비스부터 시작합니다. 게다가, 이것은 단일 통화 또는 무거운 하중 하에서 일어나는 일입니까? –
이것은 단일 통화에서도 발생합니다. – vibhu