Привет коллеги!
Есть код, который дергает через WCF некий сервис
//t1
response = await Task.Factory.FromAsync<XXXRequest,XXXResponse>(
c.BeginXXX,
c.EndXXX,
request,
"XXXApiCall");
//t2
где с — System.ServiceModel.ClientBase<YYY>
на определенном количестве запросов (примерно 1400 в минуту)
время ответа работы данного метода(t2-t1) резко возрастает — с 3 секунд до 20 и более.
в тоже время, если запустить другой процесс на той же машине, с такими же настройками, и разбить нагрузку пополам, то время работы метода нормализуется.
подозреваю, что я уперся в какое то ограничение,
на подобие System.Net.ServicePointManager.DefaultConnectionLimit(сейчас выставлено int.MaxValue)
но к сожалению не знаю в какое..
куда копать? подскажите плиз...
p.s.
настройки
var binding = new BasicHttpBinding();
binding.MaxBufferSize = int.MaxValue;
binding.MaxReceivedMessageSize = int.MaxValue;
binding.ReaderQuotas = XmlDictionaryReaderQuotas.Max;
binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;