Успях да дублирам същия проблем с превишаването на ограничението за размера на буфера с помощта на ServiceStack. Кодът за извършване на стрес теста е тук - стартирайте 20 екземпляра на приложението за поне 20 минути. https://github.com/ServiceStack/ServiceStack.Redis/commit/b01582f9c873f375794c04d46aad400590ca5bf3
Първата грешка, която може да видите, е „Не може да се свърже с екземпляр на redis“, както е описано от Redis не може да се свърже при заето натоварване, но ако разширите вътрешното изключение, виждате „Операция на сокет не може да бъде извършена, защото на системата липсва достатъчно буфер място или защото опашката е била пълна"
Проблемът ми възникна на Window7, но не и на Window Server 2008 rc. Така че започвам да гледам дали не е проблем с ОС. След изпращане на имейл до Демис в ServiceStack се стигна до заключението, че ServiceStack затваря правилно сокетите. Гледайки операционната система, проблемът беше отстранен с настройка на TcpTimeWaitDelay и MaxUserPort.
Още препратки. TcpTimeWaitDelay до 45 секунди
и MaxUserPorthttp://mashijie.blogspot.com/2009/05/change-default-setting-of-tcp-ports.html
Настроих диапазона на портовете на 1025-64511