Azure Storage Queueに対してApache JMeter™からメッセージを送信する

Azure Storage Queueで大量のメッセージを受けてから後続に流す処理のテストをするために、Apache JMeter™を利用する方法を紹介します。

Azure Storage QueueのパフォーマンステストをJMeterで実施することはあまりないかもしれませんが、Azure Storage Queueが大量のメッセージを受け後続のコンポーネントに流す一連の処理のテストのために、JMeterで大量のメッセージを発生させることができます。

ここでは、弊社で作成したJMeterのAzure Storage Queueプラグインを利用して、Azure Storage Queueにメッセージを投げる方法を紹介します。

設定概要

  1. Azure Storage Queue用JMeterプラグインを導入
  2. スレッドグループを追加
  3. Azure Storage Queue Samplerを追加
  4. 実行結果を参照するリスナーを追加
  5. テストを実行

設定詳細

  1. Azure Storage Queue用JMeterプラグインを導入
    Azure Storage Queueにメッセージを送信するために、Microsoft Azure plugin for Apache JMeter™のAzure Storage Queue Samplerプラグインを導入します。
    1. プラグインをダウンロード Webブラウザを利用して以下のページから最新のプラグイン(jmeter-plugins-azure-storage-queue-{version}.jar)をダウンロードします。
      https://github.com/pnopjp/jmeter-plugins/releases

    2. ダウンロードしたファイルをJMeterのプラグイン用ディレクトリに配置
      先ほどダウンロードしたjarファイルを $JMETER_HOME/lib/ext にコピーします。

      $ cp jmeter-plugins-azure-storage-queue-{version}.jar /usr/local/jmeter/lib/ext
      
    3. JMeterを起動または再起動します。

  2. スレッドグループを追加
    Test Planに"スレッド グループ"を追加します。
    Add (追加) > Threads (Users) > Tread Group (スレッド グループ)
  3. Azure Storage Queue Samplerを追加
    追加したスレッド グループに"Azure Storage Queue Sampler"を追加します。
    Add (追加) > Sampler (サンプラー) > Azure Storage Queue Sampler
    Azure Storage Queue Sampler
    • Auth type: 今回は「Connection string」を選択 (認証方式に応じて他を選択することも可能です。その場合はこの後に指定すべきパラメータが異なります。)
    • Connection string: Azure Storage Accountの接続文字列
    • Queue name: メッセージ送信先のQueue名
    • Message type: 送信するメッセージのタイプ。今回は「String / Base64 encoded binary」を選択
    • Message: Queueに送信するメッセージとなる任意の文字列
  4. 実行結果を参照するリスナーを追加
    Test Planかスレッドグループに"View Results Tree (結果をツリーで表示)“リスナーを追加します。 Add (追加) > Listener (リスナー) > View Results Tree (結果をツリーで表示)
  5. テストを実行
    Run (実行) > Start (開始) でテストを実行します。
    Azure Portalで該当のStorage Queueに要求やメッセージが届いていることを確認します。
    Azure Storage Queue - Overview

参考) サンプル テストプラン ファイル

以上、今回は、Apache JMeter™でAzure Storage Queueにテストをする基本的な方法を紹介しました。

私ども株式会社pnopは、Microsoft Azureに関する技術支援に加えて、JMeterによる分散テスト環境を簡単に数分でAzureに構築できるソリューションを提供しています。
Load Tester Powered by Apache JMeter™