Filed in: Performance Tags: Performance score


This score item tracks blocking responses that can reduce performance and scalability by blocking threads, and cause increased Cpu usage due to response flushing overhead.

If your application has many blocking responses, it may experience performance degradation and/or hangs due to thread pool exhaustion. Blocking responses can often be caused by large responses and/or slow responses to by low bandwidth clients.

The score is determined as a percentage of time spent in blocking responses vs. total request processing time.

Diagnostics

To diagnose the cause of blocking responses, we automatically identify the portions of your application that are flushing responses synchronously and experience a substantial delay while sending the response.



You can review the specific request traces for each url/application component that is experiencing blocking responses, for additional details about request processing that can help explain where large responses are generated and how they are flushed to the client.

NOTE: You can use the trackers in the LeanSentry ApplicationMonitoring library to emit additional debug information into request traces to help diagnose specific decisions that lead to application behavior. Use this to add more debugging information to traces as needed, including code-level stack information for any action of interest.

Improving this score

To improve this score, reduce the number and/or duration of blocking responses.

The best approach is to implement asynchronous streaming for longer-running responses, such as large responses or response sent to slow clients.

If the response is smaller, consider keeping it buffered and asynchronously sent at the end of response, but keep in mind that buffered responses may impact memory usage if they are larger and/or there are many of them.

NOTE: At times, its not possible to reduce response duration because the speed may be limited by the client (e.g. mobile clients), because of low bandwidth or possibly because of a malicious DOS attack. Be prepared for clients that force slow responses.

Proactive guidance

If you are on the Business plan, additional assistance and proactive guidance may be available. Contact support@leansentry.com to learn more.





More resources


Want to learn the best techniques for managing your IIS web server? Join our how-to newsletter.
Want to get the best tool for troubleshooting and tuning your web apps? .

Build your skills


Get performance best practices straight from our IIS & ASP.NET experts:


How-to newsletter: 1-2 emails/week with expert IIS & ASP.NET tips.