Монитор производительности показывает 4294967293 активных сессий - PullRequest
3 голосов
/ 19 декабря 2008

У меня есть веб-сайт ASP.Net 3.5, работающий в IIS 6 на Windows Server 2003 R2. Это относительно небольшое внутреннее приложение, которое, вероятно, обслуживает менее десяти пользователей одновременно. Сервер имеет 4 гигабайта памяти и показывает, что 3+ гигабайта доступно, пока сайт активен.

Через несколько минут после перезапуска веб-приложения Монитор производительности показывает, что в данный момент активно 4 294 967 293 сеанса! Я совершенно уверен, что это число неверно; на момент этого чтения на сайт было только 100 запросов.

Кто-нибудь еще сталкивался с таким странным поведением в исполнении? Любые идеи о том, как получить точное чтение?

ОБНОВЛЕНИЕ: после примерно часа работы количество активных сеансов уменьшилось на 4. Таким образом, похоже, что оно отвечает на время ожидания сеансов.

Ответы [ 6 ]

9 голосов
/ 19 декабря 2008

Возможно переполнение, но мои деньги в переполнении. Я думаю, что программа началась с 0 человек, кто-то вышел из системы, а затем количество сеансов стало отрицательным.

9 голосов
/ 19 декабря 2008

Ну, 2 ^ 32 = 4 294 967 296, поэтому звучит так, будто происходит переполнение. Не могу точно сказать, почему.

8 голосов
/ 24 июня 2009

У нас та же проблема. Похоже, MS имеет исправление доступно: http://support.microsoft.com/kb/969722

Обновление от 10.09.2009. Наш ИТ-отдел связался с MS по поводу исправления. Это исправило нашу проблему. Мы используем .NET 2.0, если это имеет значение.

1 голос
/ 25 марта 2010

Если вам нужно использовать существующую статистику, я открыл файл журнала в Excel и использовал формулу, чтобы получить более точное значение. Я не могу гарантировать его точность, но результаты выглядели хорошо:

Если B2 является значением (aspnet_wp) \ Sessions Active, а формула находится в C2

/* This one is quicker as it doesn't have to do the extra calculations */
=IF(B2>1073741824,4294967296-B2,B2)

Или

/* This one is clearer what is going on */
=IF(B2>power(2,30),(4*power(2,30))-B2,B2)

P.S. (Я чувствую вашу боль - я должен объяснить, почему у них открылось 4,2 миллиарда сессий, тогда как секунду назад у них было 0!)

1 голос
/ 01 сентября 2009

Мои счетчики работали нормально, но однажды утром я подключился удаленно к производственному серверу, и счетчик оказался на этом огромном количестве (как кто-то упомянул, очень близко к 2 ^ 32, указывающему на недостаточный уровень). Но единственное отличие от предыдущего дня, когда все работало, заключалось в том, что ночью в Windows были установлены обновления. Поэтому по некоторым причинам эти обновления вызвали эту довольно досадную ошибку.

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

Вздох ...

1 голос
/ 29 мая 2009

Я также показываю большое число, в настоящее время 4 294 967 268.

Каждый раз, когда я прекращаю сеанс, счетчик отмененных сеансов увеличивается на 1, а счетчик активных сеансов уменьшается на 1. В настоящее время мой счет отмененных сеансов = 16, поэтому это число, вероятно, началось с 4 294 967,84.

Есть ли исправление для этого?

...