Случайный вызов занимает 5 секунд в приложении WCF, размещенном на ASP.NET IIS - PullRequest
3 голосов
/ 13 октября 2011

У нас есть приложение, в котором малое время отклика имеет решающее значение. Все работает нормально, за исключением нескольких раз в неделю, когда один случайный звонок занимает около 5000 мс, а другой - 200 мс. Вызов сделан за несколько секунд до этого, поэтому он не связан с выгружаемой библиотекой. Время случайное, утилизация пула приложений не используется.

IIS Время: 5000 мс

ASP.NET \ Время выполнения запроса: 5000 мс

Наши счетчики в коде: 200мс (Журнал в начале и в конце исполнения)

Кажется, что вызов застрял где-то до того, как наш код нажал. Мы контролировали счетчики производительности, и когда это происходит, звонок не ставится в очередь, и время ожидания отсутствует.

Конфигурация IIS была оптимизирована с использованием пользовательских значений processModel (как описано в http://support.microsoft.com/kb/821268) для повышения пропускной способности.

Мы контролировали диски, сеть, память и процессор, и все выглядит хорошо.

Что может вызвать такой всплеск (возможно, распределение потоков IIS?) Какой другой счетчик, кроме очевидного ASP.NET, .NET CLR, System, Thread, может помочь нам?

Конфиг: Windows 2003 SP2 (размещен на VMWare ESX)

IIS 6

.NET Framework 3.5

Ответы [ 2 ]

0 голосов
/ 14 октября 2011

Вы пытались отследить службу и клиента, чтобы выяснить, есть ли переговоры по секьюрити или что-то подобное, что замедляет вас?

См .: Средство просмотра трассировки SVC (msdn)

0 голосов
/ 13 октября 2011

Я бы начал с этой статьи Регулирование запросов WCF и масштабирование сервера

В частности, раздел Настройка регулирования :

ВЧтобы достичь высокой пропускной способности на высокопроизводительных серверах, вам необходимо выполнить следующую настройку регулирования:

  • Увеличить регулирование потока ASP.NET, чтобы позволить более параллельным рабочим потокам обрабатывать запросы
  • Увеличьте регулирование службы WCF, чтобы разрешить больше одновременных запросов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...