8

ColdFusion で記述された Web アプリケーションがあります。これは定期的にサーバーの CPU を 100% 使用し始め、ColdFusion サービスをクラッシュさせます。

自分で問題を再現できなかったので、CPU 使用率が上昇し始めたときにメールで通知してくれるユーティリティを見つけて、サーバーに飛び乗って、FusionReactor で何が起こっているかを確認したいと思います。不正なコードを特定します。

私はグーグルで検索しましたが、適切なユーティリティを見つけることができなかったので、他のプログラマーがこの種の監視を行うことができるツールを見つけたかどうか尋ねてみようと思いました. 私のニーズの詳細を考えると、独自の監視ツールを作成したくありません。

全体的な問題にアプローチするための他の提案がある場合は、それらも聞きたいです。

回答に対する回答:

Windows perfmon を使用してコマンド ラインをトリガーすることは有望に思えます。誰かがそれを行う方法に関するチュートリアルを教えてもらえますか?

SNMP トラップを受信するように設定された監視システムはありません。

ColdFusion 8 Standard Edition を実行していますが、これには ColdFusion パフォーマンス監視ツールが含まれていません。Enterprise のみに含まれています。

Peter Boughton の回答は、おそらく問題を解決するのに役立ちますが、CPU が急上昇し始めると、積極的に問題に対処するのに役立ちません。そのため、まだ通知ソリューションを探しています。

4

4 に答える 4

4

私は数週間前に同様の問題を抱えており、AlwaysUp というプログラムに案内されました。

http://www.coretechnologies.com/products/AlwaysUp/

以下の任意の組み合わせにより、任意のプロセスを監視します。

  • メモリ使用量
  • CPU使用率
  • 無反応
  • カスタム スクリプトを実行して、リセットする必要があるかどうかを判断します

ここから、サービスを再起動したり、通知メールを送信したり、スクリプトを実行してログを記録したりできます。

彼らには 30 日間のデモがあり、私は 2 日目に販売されました。

于 2008-11-14T05:11:25.030 に答える
2

Windows では、Windows に標準で付属しているパフォーマンスおよび監視ツール (perfmon) を使用できます。CPU が特定のポイントに達すると、ほとんどのシステム監視ツールで取得できる SNMP 通知をトリガーし、そのように警告することができます。また、コマンドを実行したり、特定するのに役立つその他のさまざまな便利なことを実行したりすることもできます。

于 2008-11-12T02:07:59.790 に答える
1

この通知は必ずしも必要ではありません。FusionReactor にはログ ファイルがあるため、発生後にこれらを確認し、その時点で実行されているスクリプトを特定できます。

いつ発生するかわからない場合は、ログの 1 つにメモリと CPU の使用率が含まれていることは確かです。名前が今思い出せませんが、ログを調べてみてください。関連情報が見つかるはずです。

于 2008-11-12T23:49:47.230 に答える
1

Coldfusion 8 を実行している場合は、パフォーマンス モニターという別の代替手段を利用できます。アラートを設定して、電子メールを送信したり、別の CFC に電話したり、さまざまな基準で行うことができます。

私はサーバー モニターをよく使用します。アラートはあまり使用したことがありませんが、セットアップが簡単に見えるため、検討する価値があると思われる優れたツールです。

全体的なアプローチについては...

当社では、1 つのサーバーから Windows Perfmon を使用して、30 秒ごとにすべての CF サーバーをポーリングし、合計 CPU や平均応答時間などのメトリックを取得しています。これを CSV ファイルに記録します。これらのファイルの詳細を読み取り、DB テーブルに保存するスケジュールされたタスクが数分ごとに実行されます。次に、ファイルが大きくなりすぎないようにファイルを切り捨てます。

最後に、1 日 1 回、すべてのサーバー メトリックの詳細を記載したレポートが技術部門に送信され、すべてのサーバーの CPU と平均応答時間がグラフ化されます。

これは、サーバーのパフォーマンスを開発者の意識に保ち、傾向 (CPU 使用率の低下など) を早期に発見するための優れた方法であることがわかりました。指標の測定を開始するまで、パフォーマンスが悪いかどうかはわからないため、非常に効果的であることがわかりました。

于 2008-11-12T09:50:53.337 に答える