Кажется полезным узнать, какие запросы в настоящее время находятся в очереди, когда очередь заблокирована. Есть ли у меня способы узнать информацию о них? например request url, client ip, cookie, body ...ASP.NET запросы в очереди, могу ли я определить, что эти запросы?
ответ
Вы могли бы изучить ASP.NET tracing тем временем. Это будет перечислять такие вещи, как время обработки страницы, запрос на запрос, запрашиваемая страница, а также используемые в данный момент сеансы, форма, запрос и переменные приложения.
Однако, все они записаны после того, как запрос был обслужен, поэтому не показывает живое обновление, но это должно помочь вам увидеть, что
Есть ли какие-либо способы для меня, чтобы знать информацию о них?
Технически медленные запросы будут иметь длительный срок в ваших журналах IIS. Используйте LogParser, чтобы узнать, какие запросы заняли самое длинное, и используйте максимальное количество раз, а также стандартное отклонение для запросов на месте, которые могли быть поставлены в очередь.
Использование LogParser и этот запрос
/* Returns the number of times a particular page (in this case .as* files) was hit, with the average, minimum, and maximum time taken, along with the standard deviation. */
SELECT TO_LOWERCASE(cs-uri-stem) AS csUriStem, COUNT(*) AS Hits, DIV (MUL(1.0, SUM(time-taken)), Hits) AS AvgTime,
SQRROOT (SUB (DIV (MUL(1.0, SUM(SQR(time-taken))), Hits) , SQR(AvgTime))) AS StDev, Max(time-taken) AS Max, Min(time-taken) AS Min,
TO_REAL(STRCAT(TO_STRING(sc-status), STRCAT('.', TO_STRING(sc-substatus)))) AS Status, Min(TO_LOCALTIME(date)) AS LastUpdate
FROM '[LOGFILEPATH]'
WHERE cs-uri-stem like '%.as%' GROUP BY TO_LOWERCASE(cs-uri-stem), TO_REAL(STRCAT(TO_STRING(sc-status), STRCAT('.', TO_STRING(sc-substatus)))) HAVING COUNT(*) > 2
order by AvgTime desc
Вы пытаетесь идентифицировать проблемы с производительностью, если конкретный IP-адрес вызывает определенный тайм-аут, конкретные страницы? –