Re: wcf & await - я непонимаю где затык
От: Tom Россия http://www.RSDN.ru
Дата: 28.03.14 19:48
Оценка:
Здравствуйте, SoLame, Вы писали:

SL>Привет коллеги!


SL>Есть код, который дергает через WCF некий сервис



SL>
 //t1
SL>response = await Task.Factory.FromAsync<XXXRequest,XXXResponse>(
SL>                                                         c.BeginXXX,
SL>                                                         c.EndXXX,
SL>                                                         request,
SL>                                                         "XXXApiCall");
SL>//t2
SL>


SL>где с — System.ServiceModel.ClientBase<YYY>


SL>на определенном количестве запросов (примерно 1400 в минуту)

SL>время ответа работы данного метода(t2-t1) резко возрастает — с 3 секунд до 20 и более.

SL>в тоже время, если запустить другой процесс на той же машине, с такими же настройками, и разбить нагрузку пополам, то время работы метода нормализуется.


SL>подозреваю, что я уперся в какое то ограничение,

SL>на подобие System.Net.ServicePointManager.DefaultConnectionLimit(сейчас выставлено int.MaxValue)
SL>но к сожалению не знаю в какое..


SL>куда копать? подскажите плиз...



SL>p.s.


SL>настройки


SL>
SL>var binding = new BasicHttpBinding();
SL>    binding.MaxBufferSize = int.MaxValue;
SL>    binding.MaxReceivedMessageSize = int.MaxValue;
SL>    binding.ReaderQuotas = XmlDictionaryReaderQuotas.Max;
SL>    binding.Security.Mode = BasicHttpSecurityMode.Transport;
SL>    binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
SL>


Профилировали как конекции создаются, случайно в MaxConnections который есть 2 по умолчанию не упёрлись?
Народная мудрось
всем все никому ничего(с).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.