2012-09-03 81 views
1

我們正在構建高性能Web應用程序。識別應用程序中的糟糕表現

不幸的是,有時候性能會意外下降,我們希望能夠監控這個問題,以便我們可以在發生問題時主動解決問題,而不是等待用戶報告問題。

到目前爲止,我們正在爲諸如服務器內存使用率,CPU使用率以及收集數據庫統計數據等指標提供系統監視器。

雖然這些顯示系統的整體健康狀況,但當一個特定用戶的會話較慢時,它們無法幫助我們。我們已經實現了對C#應用程序的跟蹤,在識別數據是罪魁禍首的問題時特別有用,但出於性能原因,默認情況下跟蹤將會關閉,並且只有在嘗試修復問題時才能啓用。

所以我的問題是有沒有其他的最佳做法,我們應該考慮(例如WMI)?還有什麼我們應該考慮建立到我們的網絡應用程序,這將有利於我們,而不會成爲一個性能負擔?

回答

1

這很大程度上取決於您的應用程序,但我總是建議將您的應用程序指標添加到您的監控中。例如,最近的圖片上傳數量,併發用戶數量 - 我想你會明白。將應用程序特定指標與您的服務器指標(如內存或CPU)結合使用有時會提供有價值的見解。

0

除了系統健康監測(使用Nagios的)的參數,如負載,磁盤空間等,我們

  • 都內置了一個REST服務,從Nagios的呼籲,即在提供統計數據
    • 交易個人第二個(這是有道理的在我們的例子)
    • 號活動會話
    • 時的誤差在每分鐘
    • 日誌的數量
    • ....
    • 總之
    • ,任何特定於應用程序(或多個)
  • 監視它需要一個(假)往返處理時間:彷彿一個用戶或系統進行業務功能

所有這些數據被髮送回Nagios,然後我們配置警報級別和通知。

我們發現,監控日誌錯誤條目的數量給出了很多的系統的方式的重大崩潰/問題的一些極好的短期警告。

0

我們的許多客戶使用的系統和應用程序監視器,它處理的健康監測,與合成最終用戶監控,運行連續的綜合事務向您展示從最終用戶的角度來看,Web應用程序的性能一起。它適用於防火牆之外和之後的應用程序。用戶經常告訴我們,SEUM將揭示某些地點的可用性問題,或者在一天的特定時間。您可以在

SolarWinds.com下載免費試用版。

+2

請看看:http://stackoverflow.com/faq#promotion。_你必須在你的答案中披露你的隸屬關係。 –