2011-12-19 14 views
1

.NET Webサービスを実行していて、ローカルでデバッグして自分のマシンにローカルのサービスを実行すると、リクエストは〜4秒かかります。しかし、プロジェクトを私のWebサーバーにプッシュすると、まったく同じ要求が1mくらいかかります。あたかもリクエストが〜5秒しかかからないように感じます。私は何が間違っているのか分かりません。Webサービスが応答する前に1分タイムアウトしているようです

ここ

は私のシオマネキの結果は以下のとおりです。

Serverのパフォーマンス:

ACTUAL PERFORMANCE 
-------------- 
ClientConnected:   11:21:33.443 
ClientBeginRequest:  11:21:42.412 
ClientDoneRequest:  11:21:42.412 
Gateway Determination: 0ms 
DNS Lookup:     0ms 
TCP/IP Connect:      0ms 
HTTPS Handshake:  0ms 
ServerConnected:   11:21:13.506 
FiddlerBeginRequest:  11:21:42.412 
ServerGotRequest:  11:21:42.412 
ServerBeginResponse:   11:22:47.085 
ServerDoneResponse: 11:22:47.101 
ClientBeginResponse: 11:22:47.101 
ClientDoneResponse:  11:22:47.101 

〜は

ローカルパフォーマンス1m05s:

ACTUAL PERFORMANCE 
-------------- 
ClientConnected:   11:35:50.111 
ClientBeginRequest:  11:35:59.533 
ClientDoneRequest:  11:35:59.533 
Gateway Determination: 0ms 
DNS Lookup:     0ms 
TCP/IP Connect:      0ms 
HTTPS Handshake:  0ms 
ServerConnected:   11:35:48.845 
FiddlerBeginRequest:  11:35:59.533 
ServerGotRequest:  11:35:59.533 
ServerBeginResponse:   11:36:03.283 
ServerDoneResponse: 11:36:03.298 
ClientBeginResponse: 11:36:03.298 
ClientDoneResponse:  11:36:03.298 

〜4S

をこのANですIISの問題? WebサービスはClearQuest APIを呼び出していますが、Webサーバー上で直接実行すると、ClearQuestリクエストを作成する際に問題は発生しませんので、ボトルネックとしてそれを排除しています。

ここに本当に詰まっています。ヘルプをよろしくお願いいたします。

EDIT 1:私はここに大きな遅れにトレースしています:タイムスタンプは、についてです

System.Web.Services.Asmx Information: 0 : Return from IHttpHandler.ProcessRequest 
Caller: System.Web.Services.Protocols.SyncSessionlessHandler#19197163::ProcessRequest() 
ProcessId=4740 
LogicalOperationStack= 
ThreadId=5 
DateTime=2011-12-19T21:21:36.2218996Z 
Timestamp=58279486569830475 
System.Web.Services.Asmx Information: 0 : Calling IHttpHandlerFactory.GetHandler 
    Caller: System.Web.Services.Protocols.WebServiceHandlerFactory#50757320::GetHandler() 
    Request Host Address: 192.168.5.15 
    Request Host Name: itdotnet.kns.com 
    Request Url: [POST] http://myurl.com/websvc/CQAccess.asmx 
    ProcessId=5348 
    LogicalOperationStack= 
    ThreadId=6 
    DateTime=2011-12-19T21:22:25.7834480Z 
    Timestamp=58279635279292073 

お知らせ〜49S

+1

が可能な場合は両方のアプリケーションでパフォーマンストレースをやってみて、あなたはうまくいけば、それよりも遅くなっているものが見つかるでしょう –

+0

このようなことをしたら? http://msdn.microsoft.com/en-us/library/bb885203%28v=VS.90%29.aspx 私はフィドラーを実行し、これを見ました:ServerGotRequest:11:21:42.412 ServerBeginResponse:11:22: 47.085 その意味はわかりません。 –

+0

はい、可能であればjetbrains.comからDotTraceを使用してみてください –

答えて

0

私はこのような問題に遭遇したら、それはによるものでした自動的に証明書失効中に発生したタイムアウトチェックがサーバーによって実行されています。これは、1つ以上の署名付き(または自己署名)アセンブリを使用している場合や、SSLを介して自己署名証明書またはプロキシの背後にあるサーバーまたはインターネットアクセスなしでサービスをバインドしている場合に、サーバー環境で発生する可能性があります。

このブログはかなりよく問題を文書化:

私の場合は

http://blogs.msdn.com/b/andreal/archive/2008/07/19/wcf-service-startup-too-slow-have-you-thought-to-crl-check.aspx

、最善のアプローチは、信頼できるサードパーティとの本番サーバーに切り替えることだった証明書に署名しました。他の環境では、証明書失効を無効にして、パブリッシャ証明書とすべてのサービスエンドポイントのサーバー証明書を暗黙的に信頼する必要がありました。上記は、あなたの質問への答えにつながらない場合は

、この記事では、に見ていくつかの他のリソースを提供することができる:

http://www.codeproject.com/Tips/114132/WCF-First-Call-Slow

関連する問題