こんにちわ。SCSKの曽我です。
普段、扱っているZabbixの導入作業をオンプレだけでなくAzure上に構築することもあります。
その際、負荷テストを行うことがあります。スクリプトを使ってテストする方法もあるのですが、
もっと簡単にかということで、AzureのAzure Load Testingを使います。
Let’s Try!
環境
AzureのVirtual MachineにRedhat Enterprise Linux+Zabbixを事前に用意します。
また、App Load Testingが、Virtual MachineにアクセスできるようにNSGを設定します。
Azure Load Testingの器を作成
初めに、テストの大枠となる設定を作成し、その中で、具体的なテスト内容を定義していきます。
ここではまず、大枠となる設定を作成していきます。
①Azure App Testingを開き、左メニューより[ワークスペース]-[Azure Load Testing]を開き、「作成」をクリックします。
②以下の項目を入力し、「次へ」をクリックします。
③暗号化はデフォルト(MMK)まま、「次へ」をクリックします。
④今回、タグは設定しないので、「次へ」をクリックします。
⑤「作成」をクリックします。
URL負荷テスト
①作成された「LoadTest-Zabbix」をクリックします。
②[テスト]-[テスト]をクリックし、[作成]-[URLベースのテストを作成する]をクリックします。

③「テスト名」を入力し、「次へ」をクリックします。テスト名は今回デフォルト名とします。
④「要求の追加」をクリックし、負荷を与えるURLを入力し、「追加」ボタンをクリックします。
元の画面に戻ったら、「次へ」ボタンをクリックします。
⑤「次へ」をクリックします。
⑦メトリックを取得したいサーバを指定します。
⑧テストの抽出条件は、デフォルトにして、「次へ」をクリックします。
⑨「作成」をクリックします。
⑩作成後にテストを実行するように設定したので、テスト結果が出力されます。
JMX負荷テスト
※あらかじめJMeterのスクリプトを用意しておきます。
①作成された「LoadTest-Zabbix」をクリックします。
②「作成」-「テストの作成」をクリックします。
③テスト名を入力します。今回はデフォルトのまま、「次へ」をクリックします。
④ロードテストフレームワークが「JMeter」になっていることを確認し、ファイルの選択で事前に用意したJMXファイルを
指定して、アップロードボタンをクリックし、「次へ」ボタンをクリックします。
⑤「読み込み」は変更しないで、「次へ」をクリックします。
⑥「パラメーター」も特に指定しないで、「次へ」をクリックします。
⑦「監視」で監視したいサーバを指定します。今回は、Zabbixサーバを指定します。
⑧「テストの抽出条件」もデフォルトのまま、「次へ」をクリックします。
⑨最後に「作成」をクリックします。
⑩作成後に、負荷テストが実行され結果が出力されます。
テスト結果について
テスト結果として、「クライアント側のメトリック」「サーバー側のメトリック」「読み込みエンジンのメトリック」の3種類が
グラフとして表示されます。それぞれは、以下のような意味です。
a.クライアント側のメトリック
利用者を想定した視点のパフォーマンスを評価
b.サーバー側のメトリック
サービス(アプリケーション)を提供している視点でのパフォーマンスを評価
c.読み込みエンジンのメトリック
テストを行っている仕組みのフォーマンスの評価(テストエンジンがボトルネックになっていないか)
以下が、URLのテストをした結果です。
統計のところには、どれくらいのリスクエスとを行い、エラーがどれくらいあったか、応答時間などが表示されます。
2つ目にクライアント側のメトリックが表示されます。
3つ目にサーバのメトリックが表示されます。
今回の場合、最大ユーザー数がアクセスした1分後に100%に張り付いてます。
4つ目に読み込みエンジンの正常性メトリックが表示されます。
ここを見る限りではエンジンによる問題は無さそうです。

























