我在我的网站上创建了许多负载测试,并且在100位客户之后响应时间开始变慢。
为了简单明了,我创建了虚拟asp.net默认网站,并在load方法上设置了几个调用WCF服务的方法:
protected void Page_Load(object sender, EventArgs e)
{
WcfClientService client = new WcfClientService ();
//syncrhron wcf service call
var testMethodOne = client.callMethodOne();
var testMethodTwo = client.callMethodTwo();
var testMethodThree = client.callMethodTree();
}
我分析了WCF服务上的日志,WCF服务在短时间内<200 MS返回每个方法的请求。 Asp.net - &gt; WCF是SOAP。 什么是瓶颈sicne WCF返回非常快的响应,但Web给我一个20秒(超过100个客户)的平均响应为具有这些树服务调用的Web表单。
我正在使用jmeter调用负载测试
我可以在队列中找到我的许多请求(对于网站)
在IIS 8.5(Windows Server 2012R2)上安装了站点和wcf服务
答案 0 :(得分:0)
很难确切地说,但您可能想在使用后尝试处理您的WCF客户端,看看是否有帮助:
protected void Page_Load(object sender, EventArgs e)
{
using (var client = new WcfClientService ())
{
//synchronous wcf service call
var testMethodOne = client.callMethodOne();
var testMethodTwo = client.callMethodTwo();
var testMethodThree = client.callMethodTree();
}
}
默认情况下,ASP.net站点可以发出的传出请求数量也有限制,您可以通过在web.config中编辑以下内容来更改这些请求。
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="65535"/>
</connectionManagement>
</system.net>
</configuration>