テストデータとは何ですか?
簡単に言うと、テストデータはArcGIS Enterpriseのマップサービスから異なる関心領域をリクエストすることでパフォーマンステストや負荷テストを実行するために使用されます。この空間データの部分は通常、ポイントやバウンディングボックス(bboxes)の形を取り、通常はプレーンテキストファイルまたは場合によってはデータベースに保存されます。
以前の「Load Testing ArcGIS Enterprise with Apache JMeter」に関するコミュニティ記事では、テストロジックの構築とテストの実行戦略に焦点を当てていました。これらのブログで提供されたサンプルプロジェクトには、リクエストに直接組み込まれるプレーンテキストのカンマ区切り値(CSV)ファイル形式のテストデータが含まれていました。これらのCSVファイルには、バウンディングボックスや対応する空間参照などが含まれており、テスト内のHTTPリクエストにパラメーター情報を提供します。各テストの反復ごとに次の行のデータが読み込まれ、それがリクエストに反映されます。

デモンストレーション目的では、このテストデータはSampleWorldCitiesやNaturalEarthなどのサービスに対して異なるマップスケールをリクエストするのに適していました。しかし、これらのサンプルテストデータセットは、事前生成されたバウンディングボックスが世界中の関心領域を大まかにしかカバーしていないため、他のマップサービスでの使用には制限があります。もしあなたの組織が州、郡、市レベルでデータを扱っている場合、それらの地域に焦点を当てたテストデータを用意して負荷テストの価値を最大化したいでしょう。つまり、大きなマップスケールで特定の関心領域をカバーするテストデータが必要です。
サービスや空間データに特化したそのようなデータを生成することは、良い負荷テストを作成するための重要なプロセスとなります。単純なテスト用に手作業でいくつかジオメトリを作成することは確かに可能ですが、リクエストパターンがすぐに繰り返されてしまい、スケーラビリティパターンが偏って現実的でなくなります。より良いテストとは、多数のランダムなジオメトリを利用してマップサービスとハードウェアリソースをより効果的にプッシュするものです。
カスタム負荷データ作成ツール
幸いにも、GitHub上で最近リリースされたArcGIS Pro用の一連のテストツールがあり、データ生成作業を非常に簡単にします。
- このユーティリティの名前はLoad Testing Toolsであり、以下から入手可能です:
私のお気に入りツールの一つは「Generate Bounding Boxes」で、これはマップの現在の範囲または選択したポリゴンによってバウンディングボックスを素早く生成できます。特定ポリゴンを渡せる機能は非常に強力で、生成されるジオメトリを関心領域(例:国、州、郡、市)だけにフィルタリングできます。生成されたデータは視覚的に検証可能(別々のフィーチャクラスとして作成される)で、そのままJMeter Test Plan(同様に作成されるCSVファイル経由)に組み込めます。非常に簡単で強力です。
カスタムテストデータ作成
ArcGIS Proからツールを利用可能にする
load-testing-tools プロジェクトをマシンにダウンロードしたら、そのフォルダーをArcGIS Proからアクセス可能なディレクトリに配置してください。
例えば:
- C:\Users\[username]\Documents\ArcGIS に load-testing-tools フォルダーを置く
- ArcGIS Pro の Catalog から「Add Folder Connection」を使ってこのディレクトリ内容を一覧表示する

関心領域を囲むポリゴンの使用
このArcGIS Proプロジェクトでは、ポリゴンフィーチャクラス(ピンク色で示された米国インディアナ州)がマップに追加されており、このポリゴンがテスト内で生成されるバウンディングボックスの境界として機能します。
- インディアナ州フィーチャクラスの投影座標系は:WGS 1984 Web Mercator (auxiliary sphere)
- 参照用として、デフォルトベースマップ(World Topographic Map)はマップ内に残されています
- ベースマップも同じく投影座標系:WGS 1984 Web Mercator (auxiliary sphere)

Generate Bounding Boxes ツール入力
Generate Bounding Boxes ツールは ArcGIS Pro Catalog 画面から load-testing-tools フォルダー内へ移動し起動できます。Load Testing Tools.tbx を展開し、「Generate Bounding Boxes」をダブルクリックしてください。ジオプロセシング画面が表示され、以下と似た画面になります:

Generate Bounding Boxes ツールの便利な特徴として、「Run」をクリックするだけで技術的にはすぐ使えます! デフォルト設定では ArcGIS Pro マップの現在範囲を使ってランダムにバウンディングボックスが生成されます。
注意:Generate Bounding Boxes ツールのデフォルトマップスケールは ArcGIS Online と似ていますが、省略して一部のみ記載しています。追加スケールが必要な場合はツール内から手動で追加可能です。
この例では特定ポリゴン(インディアナ州)内でボックス生成したいため、この機能も使います。またテストで使用するマップスケールも厳密に指定したいため、一部スケール削除や追加も行います。
Generate Bounding Boxes ツールから:
- 73957191, 18489298, 4622324, 1155581, 288895, 282, 70 の前の赤いXをクリックしてこれらマップスケールを削除

- Scale列下空欄へ36112 を追加し Number of Records 列へ100 を入力
- Scale列下空欄へ9028 を追加し Number of Records 列へ1000 を入力
- Scale列下空欄へ2257 を追加し Number of Records 列へ3000 を入力
- 4514 の Number of Records を1000件へ増加
- 1128 の Number of Records を3000件へ増加

- Polygon Layer のドロップダウンからマップ内関心フィーチャクラス(ここではインディアナ州)を選択

- Output Options を展開
- bouding boxes csv ファイル保存場所を確認
- 各マップスケールごとの個別csvファイルもこの場所に作成されます
- 「Output Separate Feature Class Per Scale」オプションを選択
<\/span><\/P>カスタマイズ後、Generate Bounding Boxesツールの入力は以下のようになります([username]はあなたのWindowsユーザー名に置き換わります):<\/LI><\/UL>
<\/span><\/P>実行をクリックツールの実行には数分かかる場合があります<\/LI>目次画面がマップにフィーチャクラスを追加していきます(スケールごとに1つ)<\/LI><\/UL><\/LI><\/UL>個別フィーチャクラスから生成されたデータの可視化<\/H2>完了すると、ArcGIS Pro内の出力は以下のようになります:<\/LI><\/UL>
<\/span><\/P>個別のフィーチャクラスにより、生成されたデータからテストで作成される関心領域を簡単に確認できるため、品質チェックが非常に簡単になります<\/SPAN><\/LI><\/UL>注意: 生成されたバウンディングボックスの一部は、そのジオメトリの一部が関心ポリゴンの外側にある場合があります。これは問題ありません。<\/STRONG><\/FONT><\/SPAN><\/P>データの可視化のおかげで、1:72,224や1:36,112など小さい地図スケールで作成されるバウンディングボックスが少ない理由も簡単に理解できます<\/LI>同様に、1:2,257や1:1,128など大きい地図スケールで作成されるバウンディングボックスが多い理由もここにあります<\/LI><\/UL>
<\/span><\/P>注意: データと大きなスケールでの密度によっては、「より多くの範囲をカバーする」ためにスケールごとに3000以上のバウンディングボックスを生成することが有利な場合があります。いくつかの負荷テストフレームワークはCSVデータをメモリに読み込むため、非常に大きなデータセットを作成するとテストクライアントのメモリ使用量が増加する可能性があることに注意してください。<\/STRONG><\/FONT><\/P>個別CSVファイルから生成されたデータの可視化<\/H2>ファイルシステムエクスプローラーを使用して、データ生成に使用したArcGIS Proプロジェクトへ移動します:C:\Users\[username]\Documents\ArcGIS\Projects\MyProject1<\/LI><\/UL><\/LI>フォルダ内容は以下のようになっているはずです:<\/LI><\/UL>
<\/span><\/P>bounding_boxes_2257.csvの内容を開くと以下のようになります:<\/LI><\/UL>
<\/span><\/P>この<\/SPAN> データは、CSVファイルからHTTPリクエストのパラメータ化を許可するほとんどの負荷テストツールで使用可能です<\/LI><\/UL>注意: 空間フィルタリング用ポリゴンレイヤーとして使用するフィーチャクラスは、WGS 1984 Web Mercator (auxiliary sphere)<\/EM>以外の投影座標系を利用できます。ただし、生成されたCSVデータはWKID 3857のバウンディングボックスに投影されます。<\/STRONG><\/FONT><\/P>Apache JMeterテストプランで生成データを使用する方法<\/H1>空間的にカスタマイズされたデータ生成手順があれば、CSVファイルをApache JMeterテストプランにインポートして負荷テストで使用できます。<\/P>以前の記事:<\/P>Apache JMeterを使ったArcGIS Enterprise認証サービスのロードテスト(中級/上級)<\/A><\/LI>パブリックドメインデータを使ったArcGIS Enterpriseマップサービスベンチマーク(中級)<\/A><\/LI><\/UL>新しいデータとマップサービスで使うための良いテンプレートとなるApache JMeterサンプルテストが提供されています。<\/P>
CSV Data Set Config<\/H2>JMeterのCSV Data Set Config要素を使い、新しく生成したテストデータをファイルシステム上のパスから参照できます。<\/P> Filename<\/STRONG> パス値はディスク上のCSVファイル位置を指しますC:/JMeter Tests/naturalearth1/datasets/bounding_boxes_288895.csv以前の記事で使われたサンプルテストプロジェクトではパスに変数が使われていました${ProjectFolder}/datasets/bounding_boxes_288895.csv<\/LI>

The HTTP Request要素は、生成したテストデータを参照する変数 ${bbox_288895} < /STRONG> を利用するよう調整できます。 < /span>
< /P>
< /P>
Apache JMeter
は < /span>
Apache
ライセンス2.0下で公開されています。 < /span>
License 2.0.< /A>
Apache、Apache JMeter、JMeter、Apacheフェザー、およびApache JMeterロゴはApache Software Foundationの商標です。 < /span>