4

頻繁に実行したいスケジュールされたタスクを作成しています。

問題は、サーバーでトラフィックの負荷が高い場合にこのタスクを実行したくないということです。

このタスクを続行する必要があるかどうかを判断するために、Javaからfree / total / maxメモリを取得する以外の方法はありますか?

4

3 に答える 3

5

GetMetricData()は、サーバーがどれだけビジーであるか、つまり、実行中のリクエストの数、キューに入れられているリクエストの数、およびその他の情報を非常によく示します。

これは、コマンドラインから実行して得られる情報と同じですcfstat(以下にあります{cfroot}\bin\cfstat.exe)。

ただし、その関数を1回呼び出すだけでは、現在の忙しさを知ることはあまり役に立たない場合があります。Windowsを使用して、パフォーマンスデータをファイルまたはデータベーステーブルに記録する方がよい場合がありますperfmon。次に、過去5分間(またはその他)の実行中/キューに入れられたリクエストの平均数を取得し、タスクを実行するかどうかを決定できます。

于 2010-06-28T09:13:10.737 に答える
4

メモリ使用量情報を取得する簡単な方法があります。

http://misterdai.wordpress.com/2009/11/25/retrieveing-coldfusion-memory-usage/

CPU負荷については、getMetricData()から取得できると思いますが、他のメソッドもありますが、これは私の最初のstackoverflow投稿であるため、1つのリンクしか許可されていません:Pしかし、それは私のブログにあるので、上記のリンクを見てください。

パフォーマンス監視の統計情報については、getMetricData()を調べると便利な場合があります。これは、実行中およびキューに入れられたリクエストの数によって、サーバーがどれだけビジーであるかを知る良い方法です。

これがお役に立てば幸いです、デイブ(別名ミスターダイ)

于 2010-06-28T07:57:57.073 に答える
1

ColdFusionAdminApiを使用します。ブラウザでhttp://servername/CFIDE/adminapi/servermonitor.cfcを呼び出して、コンポーネントのcfcdocsを取得します。CFサーバーインスタンスの状態を取得するための多くのメソッドが提供されます。

于 2010-06-28T21:05:33.240 に答える