1

私はaws ec2クラスタにデプロイされるJavaアプリケーションを持っています。私はCPU使用率に基づいて自動スケーリングを設定していますが、アプリケーションはCPU集中型ではなくIO集中型で、CPU使用率は平均で20%です。したがって、トラフィックが増加すると、リアルタイムですべてのメッセージをバッファリング。これは、下流システムにメッセージが到着するのを遅らせる原因となります。Javaアプリケーションメモリに基づいてaws ec2クラスタをスケールする方法

デプロイされたアプリケーションの受信トラフィックとヒープ使用率に基づいてクラスタを自動スケールする方法はありますか。

答えて

2

この場合、custom metricsを使用する必要があります。 CloudWatchはデフォルトでメモリ消費量を収集しません。これを有効にするには、カスタムメトリックスクリプトを使用して、モニターして反応する必要があるメモリ消費量の変化やその他のイベントに対応する自動スケーリンググループの動作を変更できるようにしてください。

+0

実際にこれが答えです。 CloudWatchは、デフォルトでメモリ消費量を収集しません。これを有効にするには、カスタムメトリックスクリプトを使用して、メモリ消費量の変化や、監視して反応する必要があるイベントに対応する自動スケーリンググループの動作を変更できるようにしてください。 –

0

bronスクリプトを作成し、 Javaヒープメモリの使用量と着信接続を収集し、to cloudwatchカスタムメトリックを送信します。

How to collect to memory and disk stats from AWS ec2 instances

Examples in Perl

And then Alert and Auto scale based on those custom metrics

+0

私は試しましたが、それを処理することができず、スロットリングが発生します。私たちは何かを考えていて、まだ完成していません。 –

+0

ec2のインスタンスタイプを増やし、ebsに最適化されたタイプを使用しますか? – strongjz

関連する問題