У нас есть приложение, в котором малое время отклика имеет решающее значение.
Все работает нормально, за исключением нескольких раз в неделю, когда один случайный звонок занимает около 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