7.17. エージェントのスロットリング
エージェント設定によっては、エージェントがアクセスできるリソース数と、一度に実行できるタスク数を制御します。エージェントのスロットリングには、2 つの目的があります。これは、ホスト上の(ホストマシンでのパフォーマンスを向上できる)ホストのリソース数を制限し、エージェントがデータを過負荷または一元化してサーバーを過負荷または一元化しないようにします。
に記載されている複数の異なる設定を使用して、エージェントパフォーマンスのさまざまな要素を調整 表7.3「エージェント操作のスロットリング用のエージェントパラメーター」できます。これらの設定は相互に独立して動作しますが、他の値を考慮した後に設定を行うと、より効果的になる場合があります。たとえば、キューサイズは max-concurrent 設定を増やさない限り、コマンドの timeout 期間よりも大きく設定する必要があります。これらの値のいずれかを変更すると、これらの値をすべて調整することとは異なります。
パラメーター | description |
---|---|
rhq.agent.client.queue-size | JBoss ON サーバーへ送信するためにエージェントがキューに格納できるコマンドの最大数を設定します。数値が大きいほど、エージェントが使用できるメモリー数が増え、これをゼロ(0)に設定するとキューのサイズは無制限になります。この値を 0 に設定すると、サーバーが長時間オフラインになると、マシンよりも多くのコマンドをキューに入れることができます。 |
rhq.agent.client.max-concurrent | エージェントが一度にサーバーに送信できるメッセージの最大数を設定します。数値が大きいほど、エージェントはより迅速にキューを処理できますが、これによりエージェントがより多くの CPU サイクルを使用するよう設定することもできます。 |
rhq.agent.client.command-timeout-msecs | エージェントがコマンドを中止するまで、JBoss ON ON サーバーからの応答を待つ時間を設定します。時間がかかる間隔により、一部のコマンドの完了に必要な時間を設定できますが、他のメッセージが処理を待機していることを示すこともできます。 |
rhq.agent.client.retry-interval-msecs | コマンドを再試行する前にエージェントが待機する時間を設定します。保証された配信タグを持つコマンドのみが再試行されます。 |
rhq.agent.client.send-throttling |
エージェントがコマンドの送信を停止するまでにエージェントが送信できない数に制限を設定します。この設定は、スロットリング可能なコマンドのみに影響します。このコマンドは、頻繁にサーバーに送信されるコマンドで、メトリクスコレクションなどの多数の数値で送信されます。送信スロットリングは、メッセージがサーバーに送信されるのを防ぎます。
このパラメーターは、コマンドの timeout_milliseconds 形式のコマンド数と quiet 期間の両方を 設定します。たとえば、50 コマンドの制限と、未使用期間の 10000 ミリ秒を 50:10000 設定します。
|
rhq.agent.client.queue-throttling |
指定された時間内にデキューできるコマンドの量を制限します。これは バースト期間 です。バースト期間に許可されているよりも多くのコマンドをデキューしようとすると、次のバーストが始まるまでデキュー要求はブロックされます。
送信スロットリングと同様に、このパラメーターはコマンドの timeout_milliseconds 形式で、コマンドの数と quiet 期間の両方を設定します。たとえば、50 コマンドの制限と、未使用期間の 10000 ミリ秒を 50:10000 設定します。
キュースロットリングは、できるだけ迅速にコマンドを実行して、エージェントが CPU を起動しないようにします。キュースロットリングは、エージェントが必要とする CPU の量を減らす 1 つの方法です。
キューのスロットリング値を設定する場合は、追加のコマンドをキューにキューに追加する余分な値にキューサイズを設定してください。
|