はじめに
Azure Load Testingでテストする場合に、当然負荷を増やす必要が出てきます。そこで、変更が必要になってくるのがEngine instancesです。
テストは以前の利用したものを使います。
ドキュメントは下記を参考にしてください。
負荷の計算
負荷の増減はいたって単純です。
テストプランで設定したスレッド数xEngine instances数です。
今回のテストプランのスレッド数を確認します。
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">5</stringProp>
<stringProp name="ThreadGroup.ramp_time">10</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">120</stringProp>
<stringProp name="ThreadGroup.delay">5</stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>
スレッド数は5です。これが負荷の基準になります。
スレッド数5 x Engine instances数1だと10スレッドになりますが、メトリックスではVirtual Users(Max)に反映されます。

テスト結果を表示した場合のVirtual users (average)とは異なることに注意が必要です。

スレッド数5 x Engine instances数2の場合はスレッド数10の場合。Virtual Users(Max)が10になります。

Engine instances数が45になっています。
たま、スレッド数は250以下にすることが推奨されています。
まとめ
負荷の変更を行う方法がEngine instancesであることを書きました。インスタンス数を変更するだけで負荷を上げることが出来ることは、Jmeterをサーバーを複数構築していた時に比べれば時間も短縮できます。プラグインの利用は行えないなど、ある程度の制限はありますが単純な負荷試験であればことは足りると思うので簡易なテストのときに利用するとよいと思います。

