basicHtppBinding上的线程WCF客户端速度很慢

时间:2015-08-17 11:32:03

标签: c# multithreading performance wcf task

我在多线程环境中使用WCF时遇到问题。

我正在运行120个任务,每个任务都使用城堡注入WCF客户端的单例实例。客户端作为Windows服务托管。

目标

在1秒内进行350多次API调用,响应时间为200-250ms。

服务安装程序

container.Register(Component.For<IMyWcfClient>().ImplementedBy<MyWcfClient>().LifestyleSingleton());

任务

public class A
{
     private client;

     public A(IMyWcfClient client)
     {
          this.client = client;
     }

     public void Call()
     {
          client.MyMethod();  //takes up to 25 seconds
     }
}

现在,当我创建120个任务来并行调用我的方法时,我遇到了性能问题。

每次通话需要大约25秒,而在网络上花费的时间大约为250毫秒。 我不明白我在哪里松了24,8?如何加快性能。 Fyi,如果我只测试60个线程,我就不会看到这种延迟。

WCF诊断:

活动边界:11:01:32

写了一条消息:11:01:56

通过频道发送消息:11:01:56

...

活动边界:11:01:56

0 个答案:

没有答案