現在、asp/vbscriptを使用してWebサーバーを通じてアプリケーションサーバー上でWebサービスを呼び出しています。これは低負荷時に非常にうまく動作します。しかし、高負荷時には、次のようなクエリを実行するのに最大25秒かかることがあります。asp/vbscriptを使用して.NETで書かれたWebサービスを呼び出すときのスケーラビリティの問題
Public Function GetValidLogon(storeKey, username)
Dim req
Set req = CreateObject("Microsoft.XMLHTTP")
Dim soapReq
soapReq = "<?xml version=""1.0"" encoding=""utf-8""?> " + _
"<soap:Envelope " + _
"xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"" " + _
"xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" " + _
"xmlns:xsd=""http://www.w3.org/2001/XMLSchema""> " + _
"<soap:Body> " + _
"<GetValidLogon xmlns=""" + namespace + """> " + _
"<storeKey>" + _
CStr(storeKey) + _
"</storeKey>" + _
"<username>" + _
CStr(username) + _
"</username>" + _
"</GetValidLogon> " + _
"</soap:Body> " + _
"</soap:Envelope>"
req.open "POST", Me.serviceAddress, False
req.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
req.setRequestHeader "SOAPAction", Me.serviceNamespace + "GetValidLogon"
req.send soapReq
Set GetValidLogon = SOAPResponseTo_GetValidLogonOutput(req.responseText)
End Function
あなたはどう思われますか?これは、Webサービス(上記参照)を呼び出すために使用しているコードですか、それとも、WebサービスをWebサービスに呼び出すためにvbscript/aspを使用しているという事実ですか? IISでいくつかの設定をすることはできますか?
また、負荷が高い場合でも、アプリケーションサーバー上で直接Webサービスを実行しているときは、常に高速です。
どうすればそれを調べることができますか?私も以前に考えていたので、すべての要求はしばらくしてからqueeueされ、サービスは遅くなります。しかし、私はそれが本当であるかどうかを監視したり調査したりする方法を本当に知りません。 – Fredrik
yoruサービスログは、毎回起動したりシャットダウンしたりします。または、WCF E2Eトレースを使用して、SDKのsvctraceviewer.exeで調べます。 – JohnW
@aktersnurr、私はASP/VBSやIISでこの種の考え方をどのようにトレースするかについてはあまりよく分かりません。あなたはWireSharkのようなものを使ってトラフィックを監視し、いつどのくらい多くのアウトバウンド接続を行っているのか見ることができます。 –