запросы asp.net ставятся в очередь, даже когда #threads, количество запросов / сек низкое - PullRequest
3 голосов
/ 29 ноября 2011

У нас есть веб-приложение asp.net 4.0 (в интегрированном режиме), которое работает на iis 7.5 x64 (w2k8) с оперативной памятью 12 ГБ и 16 ядрами, которые имеют проблемы с пиками запросов в очереди.Обычно очередь равна нулю, но иногда (вероятно, около 15 раз за 10-минутный период) очередь достигает примерно 20-100 в очереди.

Иногда эта очередь также коррелирует с большим количеством запросов /сек.Но это не всегда так.Текущие запросы, кажется, всегда находятся между 15-30.

nbr текущих логических и физических потоков составляет всего 60-100

Загрузка ЦП составляет в среднем 6%

количество запросов / сек около 150-200

активных соединений, кажется, медленно увеличивается.Это около 7000. Установленные соединения кажутся вполне согласованными в районе 130-140.

Поскольку мы работаем с .net 4.0 в интегрированном режиме, я полагаю, что мы сможем обрабатывать до 5000 одновременных запросов или по крайней мере 1000.sys kernel)

http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx

Что может быть причиной того, что .net ставит в очередь запросы, даже если остаются потоки и число запросов / сек низкое?

1 Ответ

1 голос
/ 29 ноября 2011

Просто предположение: сборка мусора приостанавливает все потоки, поэтому, возможно, период, следующий непосредственно за сборкой мусора, будет выглядеть как всплеск запросов, поскольку IIS будет накапливать запросы во время GC.Можете ли вы соотнести шипы с сборками мусора?Если ваше приложение связано с вводом / выводом, может оказаться невозможным увеличить нагрузку на процессор, так как потоки будут проводить большую часть своего времени заблокированным.

Очевидная утечка активных соединений вызывает беспокойство, даже если она действительно постоянно увеличивается.

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