у нас есть веб-ферма IIS (на данный момент два сервера), настроенная для использования состояния SQL ASP для информации о сеансе. Когда я запрашиваю таблицу базы данных состояния ASP, я вижу количество сеансов, управляемых базой данных.
Есть ли связанный монитор производительности, который я могу использовать для получения той же информации, или это лучший способ сделать это с помощью SQL-запроса?
Я пробовал настроить perfmon на веб-серверах и SQL Server и отслеживал все, что даже звучит как Session, включая:
\\WebServerA\ASP.NET Apps v2.0.50727(__Total__)\Session SQL Server connections total
\\WebServerA\ASP.NET Apps v2.0.50727(__Total__)\Sessions Active
\\WebServerB\ASP.NET Apps v2.0.50727(__Total__)\Session SQL Server connections total
\\WebServerB\ASP.NET Apps v2.0.50727(__Total__)\Sessions Active
\\WebServerB\ASP.NET State Service\State Server Sessions Active
\\WebServerB\ASP.NET v2.0.50727\State Server Sessions Active
\\SQLServer\ASP.NET Apps v2.0.50727(__Total__)\Session SQL Server connections total
\\SQLServer\ASP.NET Apps v2.0.50727(__Total__)\Sessions Active
\\SQLServer\ASP.NET State Service\State Server Sessions Active
Все счетчики остаются на 0 при выполнении теста производительности, имитирующего 50 пользователей, в то же время я могу видеть создание 50 сеансов, запрашивая таблицу сеансов SQL.
редактировать: Счетчики "Общее количество подключений к SQL Server сеансу" на веб-серверах действительно возрастают во время выполнения теста, но фактически не отслеживают количество пользователей (очевидно, я знаю, но я надеялся на что-то)
Лучше всего будет запросить SQL Server, поскольку это будет наиболее надежная информация, поскольку база данных является авторитетным источником этой информации на данный момент.
Я сделал простой поиск по http://msdn.microsoft.com/newsgroups и нашел там такой же ответ: Как подсчитать активные сеансы ASP.NET (SQL Server)?
Похоже, запрос SQL - единственный способ получить эту информацию. Я полагаю, что единственный другой способ сделать это - создать собственный счетчик производительности. Я полагаю, если бы это была хорошая идея, Microsoft просто создала бы счетчик?!? Нет?