2012-02-08 14 views
2

こんにちは、Javaで負荷分散アルゴリズムを開発しています。私のシステムでは、1つのマスターノードとn個のスレーブノードが存在します。メーターノードは受信クエリをそのスレーブノードのものに分配する。しかし、クエリをスレーブノードの1つに配布する前に、特定のスレーブノードが要求を処理できるかどうかを調べるために、スレーブノードの現在の負荷を測定したいと考えています。また、どのノードに過負荷が発生していて、どのノードに負荷がかかっているのかを把握することができます。リモートシステムのCPU負荷を見つける方法

私に教えてください。スレーブノードの負荷を調べるために、javaに(.jarファイルをいくつか含めて)組み込み関数がありますか?教えてください。私はそれを行うためにJMXを使用できるかどうか..?

答えて

1

私はOperatingSystemMXBeanのgetSystemLoadAverage()はあなたが必要とするものだと思います。

このJMX Beanにリモートアクセスする方法については、Remote Monitoring and Managementのマニュアルを参照してください。

+0

ご返信ありがとうございます。いくつかの簡単な質問が出る前に、私はJMXを使っていませんでした。 getSystemLoadAverage()は、ノードの現在の負荷を調べるために使用されます。しかし、スレーブノードが過負荷にならずに着信要求を処理できるかどうかを調べる方法。 – shagul

+0

スレーブノードがサポートする最大負荷と着信要求の処理時間を調べることができれば、私たちは私たちのニーズを見つけるために数式を導き出すことができると思います。ノードがサポートできる最大負荷と、着信要求がノードにどれだけの負荷を注入するか。 – shagul

+0

これは実際には非常に興味深い質問です。 –

関連する問題