Một cách thanh lịch để theo dõi thời gian phản hồi trung bình trong IIS 7.5 là gì? (What is an elegant way to monitor average response times in IIS 7.5?)


問題描述

Một cách thanh lịch để theo dõi thời gian phản hồi trung bình trong IIS 7.5 là gì? (What is an elegant way to monitor average response times in IIS 7.5?)

I have a SaaS application running on .NET and IIS 7.5. I'd like to monitor average server response time and send an alert if it exceeds a given threshold. What are some elegant ways to do this?

I've thought of a few ways already, but I wanted to get others' opinions before I start down any of these tracks.

  1. Some kind of server log parser. Seems the most obvious, but it may be somewhat difficult to extract the metric I'm looking for.

  2. NuGet .NET HTTP module. Are there any NuGet packages that implement response time monitoring and alerting? I couldn't find one.

  3. Custom .NET HTTP module. Monitor the page render time, send an email if it exceeds a threshold. This is probably the most flexible solution but requires some implementation work.

  4. Performance counters. Seems there should be a performance counter for this, but I've never had much luck using the Performance Monitor. Specifically, I don't like re‑adding all the metrics every time I launch it. I can't really make Performance Monitor automatically send an email either.

Are there others I haven't thought of? What approach seems the easiest to implement and maintain? Have you tried this yourself?


參考解法

方法 1:

I’d go with #2. HTTP module can be used to store request start and request end and store it into database.

Then I’d have a separate job that would read the database every X minutes, average the data and send the report. Now that you have the data in your database you can have fun and create all kinds of reports (such as busy hours of the day, requests that are running the longest, clients that are having the most intensive requests etc…)

IMHO this is better than perf counters because it would give you more precise data and you don’t need to set it up every time. 

(by MikeDavid Smithers)

參考文件

  1. What is an elegant way to monitor average response times in IIS 7.5? (CC BY‑SA 3.0/4.0)

#ASP.NET #performance #monitoring #iis #response-time






相關問題

System.Reflection.Assembly.LoadFile 鎖定文件 (System.Reflection.Assembly.LoadFile Locks File)

如何在沒有全局變量的情況下一直保留我的變量? (How can I keep my variable all the time without global variables?)

C# / ASP.NET - Web 應用程序鎖定 (C# / ASP.NET - Web Application locking)

關閉模態對話框窗口後 ASP.NET 刷新父頁面 (ASP.NET Refresh Parent Page after Closing Modal Dialog Window)

無法將 NULL 值傳遞給數據庫 (Unable to pass NULL value to database)

wcf:將用戶名添加到消息頭是否安全? (wcf: adding username to the message header is this secure?)

使用 ASP.Net 教初學者 Web 開發的小項目想法 (Small projects ideas to teach beginners web development using ASP.Net)

SQL Server - 分組、擁有和計數 (SQL Server - Group by, having and count in a mix)

企業庫異常處理應用程序塊和日誌記錄應用程序塊在 ASP.NET 中的正確使用 (Enterprise Library Exception Handling Application Block and Logging Application Block proper use in ASP.NET)

來自proc的asp.net多個結果集:是否有必要將結果映射到類?如果是這樣,怎麼做? (asp.net multiple result set from proc: is it necessary to map results to class? If so, how?)

如何在測試工具中實例化 asp.net 代碼隱藏類? (How can I instantiate an asp.net codebehind class in a test harness?)

Web 窗體用戶控制事件,需要在頁面加載後添加 (Web Form User Control Event, needs to be added after page loads)







留言討論