このトピックでは、ApsaraMQ for RabbitMQ インスタンスのピークトランザクション/秒 (TPS) を照会する方法について説明します。
背景情報
ApsaraMQ for RabbitMQ は、インスタンスのピークTPSに制限を設けています。ApsaraMQ for RabbitMQ インスタンスの実際のTPS使用量が指定された制限を超えると、インスタンスはスロットルされます。
スロットリングと関連するビジネスへの影響を防ぐために、日々のO&Mタスクで主要な指標としてピークTPSを指定し、ビジネスリスクをできるだけ早く検出することをお勧めします。また、この指標を監視してワークロードの変化を分析し、現在のインスタンスタイプがビジネス要件を満たしているかどうかを判断することもできます。
クエリメソッド
次の表に、ApsaraMQ for RabbitMQ がインスタンスのピークTPSを照会するために提供するメソッドを示します。
メソッド | 説明 | 時間粒度 | リソースレベル |
メリット:
| 分レベルのピークTPS 1 分間の統計期間中のインスタンスのピークTPS | インスタンスのピークTPS | |
| 秒レベルのピークTPS |
| |
| 秒レベルのピークTPS | インスタンスのピークTPS |
CloudMonitor を使用してインスタンスのピークTPSを照会し、アラートルールを設定する
インスタンスのピークTPSを照会する
ApsaraMQ for RabbitMQ コンソール にログインします。左側のナビゲーションペインで、インスタンスリスト をクリックします。
インスタンスリスト ページの上部ナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスリストで、管理するインスタンスの名前をクリックします。
左側のナビゲーションペインで、モニタリング指標 をクリックします。
モニタリング指標 ページで、インスタンス[グループ名] ドロップダウンリストから を選択し、ピークTPSを照会する時間範囲を選択します。
次の図は例を示しています。
API操作のピークTPSに基づいてアラートルールを設定する
ApsaraMQ for RabbitMQ コンソール にログインします。左側のナビゲーションペインで、インスタンスリスト をクリックします。
インスタンスリスト ページの上部ナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスリストで、管理するインスタンスの名前をクリックします。
左側のナビゲーションペインで、モニタリング指標 をクリックします。
モニタリング指標 ページの右上隅にある [アラートルールの作成] をクリックします。
CloudMonitor コンソールの [ルールの説明を設定] パネルにリダイレクトされます。
[ルールの説明を設定] パネルで、アラートルール名を指定し、アラートサービス を選択します。詳細については、 をご参照ください。 [メトリック] ドロップダウンリストから
インスタンスの詳細ページでインスタンスのピークTPSを照会する
ApsaraMQ for RabbitMQ コンソール にログインします。左側のナビゲーションペインで、インスタンスリスト をクリックします。
インスタンスリスト ページの上部ナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスリストで、管理するインスタンスの名前をクリックします。
インスタンス詳細 ページで、ピーク TPS 照会 タブをクリックします。
説明このクエリメソッドを使用して、過去 15 日間のピークTPSデータを照会できます。クエリ結果は秒単位まで正確です。非常に長いクエリ結果リストが表示されないように、最初の 10 分以内に返されたクエリ結果のみが表示されます。
インスタンスのピークTPSを照会する。
インスタンスによる照会 タブをクリックし、クエリの開始時刻を指定して、[クエリ] をクリックします。
API操作のピークTPSを照会する。
API によるクエリ タブをクリックし、ピークTPSを照会するAPI操作を選択し、クエリの開始時刻を指定して、[クエリ] をクリックします。
Simple Log Service を使用してピークTPSを照会する
詳細については、クエリと分析のクイックガイド をご参照ください。
次のコードは、ピークTPSを照会するためのSimple Log Service ステートメントの例を示しています。
(Action : ConnectionOpen or Action : ChannelOpen or Action: ExchangeDeclare or Action: QueueBind or Action : QueueDeclare or Action : QueueDelete or Action : ExchangeDelete or Action : QueueUnBind or Action : ExchangeBind or Action : ExchangeUnBind or Action : BasicConsume or Action : BasicReject or Action : BasicRecover or Action : SendMessage or Action : BasicAck or Action : BasicNack or Action : BasicGet ) | select from_unixtime(cast(microtime as bigint)/1000/1000) as time, COUNT(*) as count GROUP by time ORDER by time limit 90000000 /* ピークTPSを照会するためのサンプルSLSステートメント */