Qu'est-ce que les données de test ?
En termes simples, les données de test sont utilisées pour piloter un test de performance ou de charge en sollicitant différentes zones d'intérêt à partir d'un service de carte ArcGIS Enterprise. Ces parties spatiales des données prennent généralement la forme de points ou de boîtes englobantes (bboxes) et sont typiquement stockées dans un fichier texte simple ou, dans certains cas, dans une base de données.
Les articles précédents de la communauté sur le test de charge d'ArcGIS Enterprise avec Apache JMeter se concentraient sur des stratégies pour construire la logique de test et exécuter le test. Les projets d'exemple fournis dans ces blogs incluaient des données de test sous forme de fichiers texte simples au format CSV (valeurs séparées par des virgules) qui s'intégraient directement dans les requêtes. Ces fichiers CSV contenaient des éléments tels que des boîtes englobantes et une référence spatiale correspondante pour fournir aux requêtes HTTP du test des informations paramétriques. À chaque itération du test, la ligne suivante des données est lue puis insérée dans la requête.

À des fins de démonstration, ces données de test fonctionnaient bien pour demander différentes échelles de carte contre des services comme SampleWorldCities et NaturalEarth. Cependant, ces ensembles de données d'exemple sont limités pour une utilisation avec d'autres services cartographiques car les boîtes englobantes pré-générées ont été créées uniquement pour demander des zones d'intérêt autour du monde à un niveau élevé. Si votre organisation travaille avec des données au niveau de l'état, du comté ou de la ville, vous voudrez disposer de données de test qui se concentrent sur ces zones afin de maximiser la valeur du test de charge. En d'autres termes, vous voulez des données de test à une échelle cartographique plus grande et couvrant une zone d'intérêt spécifique.
Générer de telles données spécifiques à vos services ou à vos données spatiales devient une pièce critique du processus pour réaliser un bon test de charge. Bien que composer quelques géométries à la main pour un test simple soit certainement faisable, les signatures des requêtes se répètent rapidement, ce qui entraîne des schémas d'évolutivité biaisés et non réalistes. Un meilleur test est celui qui utilise une grande quantité de géométries aléatoires pour pousser le service cartographique et les ressources matérielles plus efficacement.
Outils pour créer des données personnalisées pour la charge
Heureusement, il existe un ensemble d'outils récemment publiés pour ArcGIS Pro sur GitHub qui rend la tâche de génération de données extraordinairement facile.
- Le nom de l'utilitaire est : Load Testing Tools et est disponible à :
Un de mes outils préférés du groupe est "Generate Bounding Boxes" qui peut générer rapidement des boîtes englobantes soit par l'étendue actuelle de la carte soit par un polygone sélectionné. Avoir la capacité d'entrer un polygone spécifique est une fonctionnalité très puissante car les géométries créées peuvent être filtrées uniquement sur votre zone d'intérêt (par exemple Pays, État, Comté ou Ville). Les données générées peuvent être validées visuellement (via des classes d'entités séparées qui sont créées) et intégrées directement dans un plan de test JMeter (via des fichiers CSV également créés). Encore une fois, très facile... très puissant.
Création de données personnalisées pour les tests
Rendre les outils disponibles depuis ArcGIS Pro
Une fois le projet load-testing-tools téléchargé sur votre machine, placez le dossier dans un répertoire accessible ou rendu accessible par ArcGIS Pro.
Par exemple :
- Placez le dossier load-testing-tools dans C:\Users\[nom_utilisateur]\Documents\ArcGIS
- Utilisez l'option Ajouter une connexion dossier depuis le Catalogue dans ArcGIS Pro pour lister le contenu de ce répertoire :

Utiliser un polygone pour délimiter la zone d'intérêt
Dans ce projet ArcGIS Pro, une classe d'entités polygones (État américain de l'Indiana en rose) a été ajoutée à la carte pour définir une limite autour de la zone où les boîtes englobantes pour les requêtes du test seront générées.
- Le système de coordonnées projeté de la classe d'entités Indiana State est : WGS 1984 Web Mercator (auxiliary sphere)
- Pour référence, la carte de base par défaut (World Topographic Map) est laissée dans la carte
- Le système de coordonnées projeté de la carte de base est aussi : WGS 1984 Web Mercator (auxiliary sphere)

Entrées pour l'outil Generate Bounding Boxes
Vous pouvez lancer l'outil Generate Bounding Boxes en naviguant dans le dossier load-testing-tools depuis l'écran Catalogue d'ArcGIS Pro. Développez Load Testing Tools.tbx et double-cliquez sur Generate Bounding Boxes. L'écran Géotraitement devrait se remplir et ressembler à ce qui suit :

Une des fonctionnalités pratiques concernant l'outil Generate Bounding Boxes est qu'il est techniquement prêt à être utilisé simplement en cliquant sur Exécuter ! Avec les options par défaut, il génèrera aléatoirement des boîtes englobantes en utilisant l'étendue actuelle de la carte ArcGIS Pro.
Note : Les échelles cartographiques par défaut de l'outil Generate Bounding Boxes sont similaires à celles d'ArcGIS Online mais par souci de concision, seule une échelle sur deux est listée. Si vous avez besoin d'échelles supplémentaires, elles peuvent être ajoutées manuellement depuis l'interface de l'outil.
Cependant, bien que cela rende la génération des données vraiment facile, dans cet exemple, nous sommes intéressés par générer des boîtes à l'intérieur d'un polygone particulier (État de l'Indiana). Nous voulons aussi être très spécifiques quant aux échelles cartographiques que notre test utilisera, donc nous allons vouloir supprimer certaines échelles et en ajouter d'autres depuis l'interface de l'outil.
Depuis l'outil Generate Bounding Boxes :
- Cliquez sur le X rouge devant 73957191, 18489298, 4622324, 1155581, 288895, 282, 70 pour supprimer ces échelles cartographiques

- Dans la zone texte vide sous la colonne Échelle, ajoutez 36112 et utilisez 100 pour la colonne Nombre d'enregistrements
- Dans la zone texte vide sous la colonne Échelle, ajoutez 9028 et utilisez 1000 pour la colonne Nombre d'enregistrements
- Dans la zone texte vide sous la colonne Échelle, ajoutez 2257 et utilisez 3000 pour la colonne Nombre d'enregistrements
- Augmentez le Nombre d'enregistrements pour 4514 à 1000 enregistrements
- Augmentez le Nombre d'enregistrements pour 1128 à 3000 enregistrements

- Cliquez sur le menu déroulant sous Couche Polygone et sélectionnez la classe d'entités d'intérêt dans la Carte, dans ce cas Indiana

- Développez Options de sortie
- Notez l'emplacement du fichier csv des boîtes englobantes
- Des fichiers csv séparés par échelle cartographique seront également créés à cet emplacement
- Sélectionnez l'option "Output Separate Feature Class Per Scale"
<\/span><\/P>Après la personnalisation, l'entrée de l'outil Generate Bounding Boxes devrait ressembler à ce qui suit ([username] refléterait votre nom d'utilisateur Windows) :<\/LI><\/UL>
<\/span><\/P>Cliquez sur ExécuterL'exécution de l'outil peut prendre quelques instants<\/LI>L'écran Table des matières commencera à se remplir en ajoutant des classes d'entités à la Carte (une par échelle)<\/LI><\/UL><\/LI><\/UL>Visualisation des données générées à partir des classes d'entités individuelles<\/H2>Une fois terminé, la sortie dans ArcGIS Pro devrait ressembler à ce qui suit :<\/LI><\/UL>
<\/span><\/P>La classe d'entités individuelle facilite le contrôle qualité car il est facile de voir les zones d'intérêt que le test utilisera à partir des données générées<\/SPAN><\/LI><\/UL>Note : Certaines des boîtes englobantes générées peuvent avoir des parties de leur géométrie qui dépassent le polygone d'intérêt. Cela est acceptable.<\/STRONG><\/FONT><\/SPAN><\/P>Grâce à la visualisation des données, il est également facile de comprendre pourquoi moins<\/EM> de boîtes englobantes ont été créées pour les petites échelles de carte comme 1:72 224 et 1:36 112<\/LI>De même, c'est pourquoi plus<\/EM> de boîtes englobantes ont été créées pour les grandes échelles de carte comme 1:2 257 et 1:1 128<\/LI><\/UL>
<\/span><\/P> Note : Selon vos données et leur densité aux grandes échelles, il pourrait être avantageux de générer plus de 3000 boîtes englobantes (par échelle) afin de "couvrir plus de terrain". Gardez à l'esprit que certains frameworks de test de charge peuvent lire les données CSV en mémoire et créer des ensembles de données extrêmement volumineux peut nécessiter plus de mémoire du client de test.<\/STRONG><\/FONT><\/P>Visualisation des données générées à partir des fichiers CSV individuels<\/H2>En utilisant l'explorateur du système de fichiers, naviguez vers le projet ArcGIS Pro utilisé pour générer les données :C:\Users\[username]\Documents\ArcGIS\Projects\MyProject1<\/LI><\/UL><\/LI>Le contenu du dossier devrait ressembler à ce qui suit :<\/LI><\/UL>
<\/span><\/P>L'ouverture du contenu de bounding_boxes_2257.csv devrait ressembler à ce qui suit :<\/LI><\/UL>
<\/span><\/P>Ces données fonctionneront avec la plupart des outils de test de charge qui permettent la paramétrisation des requêtes HTTP à partir de fichiers CSV<\/SPAN>Note : La classe d'entités utilisée comme couche Polygon pour le filtrage spatial peut utiliser un système de coordonnées projeté autre que WGS 1984 Web Mercator (auxiliary sphere)<\/EM>. Cependant, les données CSV générées seront toujours projetées dans des boîtes englobantes ayant un WKID de 3857.<\/STRONG>