Метрики Производительность Быстродействие
TODO
- https://habr.com/ru/articles/250881/
- https://technet.microsoft.com/en-us/library/cc732518(v=ws.10).aspx
- https://habrahabr.ru/post/250881/ good
- https://mlichtenberg.wordpress.com/2011/02/03/log-parser-rocks-more-than-50-examples/
- https://www.symantec.com/connect/articles/forensic-log-parsing-microsofts-logparser
- https://blogs.msdn.microsoft.com/docast/2016/04/28/troubleshooting-iis-request-performance-slowness-issues-using-freb-tracing/
- https://www.iis.net/learn/troubleshoot/performance-issues
HTTP.SYS
- Queue
- “Http Service Request Queues\CurrentQueueSize” - The request count in the queue
- “Http Service Request Queues\MaxQueueItemAge” - This means IIS is falling behind in request processing, so all incoming requests are waiting at least this long to begin getting processed
- “Http Service Request Queues\ArrivalRate” - This basically implies that more requests are coming into the system than are being processed, and this always eventually results in queueing
Web Admin Service (WAS_W3WP)
- “Total WAS Messages Received” - Total number of messages received by the worker process from WAS
- “Total Messages Sent to WAS” - Total number of messages sent to WAS by the worker process
- TODO
- “Messages Sent to WAS” - Total count of messages sent to WAS
- “Total Requests Served” - Total number of requests served by the worker process. This counter is only meaningful when request based recycling is enabled for the application pool.
W3SVC
- “Web Service\Current Connections” – общее число активных подключений на сервере IIS
- Можно мерить в разрезе конкретного сайта IIS
- Любые запросы к сайту, не только к Веб-сервисам
- Просмотр списка соединений IIS8
- “\Web Service(*)\Bytes Sent/sec”
- “\Web Service(*)\Bytes Received/sec”
Application Pool
- \APP_POOL_WAS(*)\Maximum Worker Processes
- \APP_POOL_WAS(*)\Current Worker Processes
Worker process (w3wp.exe) (W3SVC_W3WP)
W3SVC_W3WP - exposes HTTP request processing related counters for the worker process
- Saturation
- “Maximum Threads Count” - Maximum number of threads to which the thread pool can grow as needed
- “Total Threads” - Total number of threads available to process requests in the worker process
- Threads Per Processor Limit in IIS
- Traffic
- “Requests / Sec” - HTTP requests/sec being processed by the worker process
- “Active Requests” - Current number of requests being processed by the worker process - “Total HTTP Requests Served” - Total number of HTTP requests served by the worker process
- Latency
- “Active Threads Count” - Number of threads actively processing requests in the worker process
- Errors
- .NET CLR Exceptions
ASP.NET
- Traffic
- “\ASP.NET\Requests Current”
- Latency
- “ASP.NET v4.0.30319\Requests Queued” - limit Process Model’s RequestQueueLimit
- Errors
- “\ASP.NET\Requests Disconnected”
- “\ASP.NET\Requests Rejected”
- TODO к CLR Thread относятся?
- ASP.NET\Worker Process Running - Количество рабочих процессов, запущенных на серверном компьютере.
- ASP.NET\Requests Failed - Общее количество неудачных запросов. Любые коды состояния, превышающие или равные 400, увеличат этот счетчик.
- ASP.NET Applications\Errors Total - Общее количество ошибок, возникающих во время выполнения HTTP-запросов, включая любые ошибки синтаксического анализа, компиляции или времени выполнения.
- ASP.NET Application\Errors Total/Sec - Количество ошибок в секунду, возникающих во время выполнения HTTP-запросов, включая любые ошибки синтаксического анализа, компиляции или времени выполнения.
APP
- Performance Counters for ASP.NET
- Performance Counters for WCF service дополнительно
- Traffic
- ASP.NET\Requests Current - суммарное количество выполняющихся в настоящее время запросов. Значение этого счетчика включает в себя число обрабатывающися запросов, находящихся в очереди и ожидающих отправки клиенту. Если это значение превышает параметр requestQueueLimit, который расположен в секции processModelsection файла конфигурации веб-сервера, то последующие запросы будут отбрасываться
- ASP.NET Application\Requests Executing - показывает количество одновременно выполняющихся запросов
- ASP.NET Application\Requests/sec RPS - текущую пропускную способность приложения
- Latency
- “ASP.NET Application\Request Execution Time” - время выполнения (в мс) последнего запроса
- Queue
- “ASP.NET\Requests Queued” - число запросов ожидающих в очереди на обработку
- “ASP.NET\Application\Request Wait Time” - время ожидания в очереди последнего запроса - Проверьте логи на наличие ошибки “HTTP Error 503.2 — Service Unavailable”. Постарайтесь определить, не блокируется ли часть запросов в очереди
- Error
- “Requests Rejected” – Общее количество невыполненных запросов ввиду нехватки ресурсов сервера на их обработку.
- ASP.NET Sessions
- “ASP.NET\Sessions Timed Out” - Количество сеансов, время ожидания которых истекло
- “ASP.NET\Sessions Total”
- ASP.NET Core metrics