WCF サービスで最大のスループット パフォーマンスを得る必要があります。私のテストの 1 つで、以下のサービスは、NetTcpBinding を使用して 1 分間に 50k のデータ項目しか取得できませんでした。NetMsmqBinding のような切断されたバインディングは、このパフォーマンスを改善しますか?
サービスとクライアントは WCF を使用し、同じマシンで実行されます。
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,
ConcurrencyMode = ConcurrencyMode.Multiple)]
public class Storage : IStorage
{
protected List<int> _data = new List<int>();
public void Insert(int[] data)
{
lock (_data)
{
_data.AddRange(data);
}
}
public int[] Get()
{
lock (_data)
{
return _data.ToArray();
}
}
}
上記のコードは、実際のコードを簡略化したものです。