1

現在、高性能のWebアプリケーションを構築中です。

残念ながら、パフォーマンスが予期せず低下する場合があります。ユーザーからの報告を待つのではなく、問題が発生したときにプロアクティブに修正できるように、これを監視できるようにする必要があります。

これまでのところ、サーバーのメモリ使用量、CPU使用率などのメトリック、およびデータベースの統計を収集するためのシステムモニターを導入しています。

これらはシステムの全体的な状態を示していますが、特定のユーザーのセッションが遅い場合は役に立ちません。データが原因である問題を特定する場合に特に役立つトレースをC#アプリケーションに実装しましたが、パフォーマンス上の理由から、トレースはデフォルトでオフになり、問題を修正しようとした場合にのみ有効になります。

だから私の質問は、私たちが考慮すべき他のベストプラクティス(たとえばWMI)はありますか?それ自体がパフォーマンスの負担になることなく私たちに利益をもたらす、私たちのWebアプリに組み込むことを検討すべき他の何かがありますか?

4

3 に答える 3

1

これはアプリケーションに大きく依存しますが、アプリケーション メトリックをモニタリングに追加することを常にお勧めします。たとえば、最近の写真のアップロード数、同時ユーザー数など、おわかりいただけると思います。メモリや CPU などのサーバー メトリックと組み合わせてアプリケーション固有のメトリックを表示すると、貴重な洞察が得られる場合があります。

于 2012-09-03T16:56:13.527 に答える
0

負荷、ディスク容量などのパラメータのシステム ヘルス モニタリング (Nagios を使用) に加えて、

  • Nagios から呼び出され、統計を提供する REST サービスが組み込まれています。
    • 1 秒あたりのトランザクション数 (これは私たちの場合は理にかなっています)
    • アクティブなセッションの数
    • 1 分あたりのログのエラー数
    • ....
    • つまり、アプリケーションに固有のもの
  • ユーザーまたはシステムがビジネス機能を実行しているかのように、(ダミーの) ラウンド トリップ トランザクションにかかる時間を監視します。

このすべてのデータが Nagios に送り返され、アラート レベルと通知が構成されます。

ログ内のエラー エントリの数を監視すると、多くのシステムで重大なクラッシュや問題が発生しているという優れた短期警告が得られることがわかりました。

于 2012-09-03T17:01:42.513 に答える
0

当社のお客様の多くは、正常性の監視を処理する Systems and Application Monitor と、継続的な合成トランザクションを実行してエンド ユーザーの観点から Web アプリケーションのパフォーマンスを表示する Synthetic End User Monitor を使用しています。ファイアウォールの外側と内側のアプリで機能します。ユーザーは、SEUM が特定の場所から、または 1 日の特定の時間に可用性の問題を明らかにするとよく言います。で無料試用版をダウンロードできます。

SolarWinds.com.

于 2012-09-04T16:18:19.983 に答える